@SuppressWarnings("unchecked")
  public final <T> T extractClientProperty(@NotNull String key) {
    return (T)myClientProperties.remove(key);
  }
@SuppressWarnings("unchecked")
  public final <T> T extractClientProperty(@NotNull String key)