@Override
  public KeyValueStore getStore(String storeName) {
    KeyValueStore store = this.keyValueStoreProvider.apply(storeName);
    if (store == null) {
      throw new IllegalArgumentException(String.format("No store found for storeName: %s", storeName));
    }
    return store;
  }
This class provides the implementation for the public {@link TaskContext} interface.
It also allows us to pass certain internal Samza components around so that the implementation of the high-level API
can use them (see InternalTaskContext for some more details).
samza-core/src/main/java/org/apache/samza/context/TaskContextImpl.java