AbstractSchemeActions<FileTemplatesScheme> () { return new AbstractSchemeActions<>(this) { @Override protected void resetScheme(@NotNull FileTemplatesScheme scheme) { throw new UnsupportedOperationException(); } @Override protected void duplicateScheme(@NotNull FileTemplatesScheme scheme, @NotNull String newName) { throw new UnsupportedOperationException(); } @Override protected void onSchemeChanged(@Nullable FileTemplatesScheme scheme) { if (scheme != null) changeScheme(scheme); } @Override protected void renameScheme(@NotNull FileTemplatesScheme scheme, @NotNull String newName) { throw new UnsupportedOperationException(); } @Override protected @NotNull Class<FileTemplatesScheme> getSchemeType() { return FileTemplatesScheme.class; } }; }