@NotNull
  @Override
  public <T extends ModifiableModel> T getModifiableModel(@NotNull Class<T> instanceOf) {
    ModifiableModel model = myModifiableModels.get(instanceOf);
    if (instanceOf.isInstance(model)) {
      return instanceOf.cast(model);
    }
    throw new AssertionError(String.format("Unable to get `%s` model", instanceOf.getSimpleName()));
  }
@NotNull
  @Override
  public <T extends ModifiableModel> T getModifiableModel(@NotNull Class<T> instanceOf)