class Context {

  public Executor fixedContextExecutor(final Executor e) {
    class FixedContextExecutor implements Executor {
      @Override
      public void execute(Runnable r) {
        e.execute(wrap(r));
      }
    }

    return new FixedContextExecutor();
  }

  private  Context(PersistentHashArrayMappedTrie<Key<?>, Object> keyValueEntries, int generation);
  private  Context(Context parent, PersistentHashArrayMappedTrie<Key<?>, Object> keyValueEntries);

}