public ServiceAndSpanNames serviceAndSpanNames() { // delegates to deprecated methods.
    final SpanStore delegate = spanStore();
    return new ServiceAndSpanNames() {
      @Override public Call<List<String>> getServiceNames() {
        return delegate.getServiceNames();
      }

      @Override public Call<List<String>> getRemoteServiceNames(String serviceName) {
        return Call.emptyList(); // incorrect for not yet ported 3rd party storage components.
      }

      @Override public Call<List<String>> getSpanNames(String serviceName) {
        return delegate.getSpanNames(serviceName);
      }

      @Override public String toString() {
        return "ServiceAndSpanNames{" + delegate + "}";
      }
    };
  }
A component that provides storage interfaces used for spans and aggregations. Implementations are
free to provide other interfaces, but the ones declared here must be supported.

@see InMemoryStorage
zipkin/src/main/java/zipkin2/storage/StorageComponent.java