class EmptyContext implements Context {

  @Override
  public <T> Context withValue(final Key<T> key, final T value) {
    assertNotNull(key, "Key must not null");
    assertNotNull(value, "Value must not null");
    logger.trace("New context with parent: {}, key: {}, value: {}", this, key, value);
    return new ContextConc(this, key, value);
  }

    EmptyContext();

}