@Contract("_ -> new")
  @SuppressWarnings("unchecked")
  static <O extends @NotNull Object> @NotNull OptionEditor<O> forOptions(O options) {
    OptionEditorProvider<?> provider = Objects.requireNonNull(
      EXTENSION.forClass(options.getClass()),
      "Option editor for class " + options.getClass().getName() + " must be registered"
    );
    return ((OptionEditorProvider<O>)provider).createOptionEditor(options);
  }
@Contract("_ -> new")
  @SuppressWarnings("unchecked")
  static <O extends @NotNull Object> @NotNull OptionEditor<O> forOptions(O options)