@NotNull
  <T extends CustomCodeStyleSettings> T getCustomSettings(@NotNull Class<T> aClass) {
    String className = aClass.getName();
    CustomCodeStyleSettings result;
    synchronized (myCustomSettings) {
      result = myCustomSettings.get(className);
    }
    if (result == null) {
      result = createCustomSettings(className);
      if (result != null) {
        registerCustomSettings(result);
      }
      else {
        throw new RuntimeException("Unable to get or create settings of #" + aClass.getSimpleName() + " (" + className + ")");
      }
    }
    //noinspection unchecked
    return (T)result;
  }
@NotNull
  <T extends CustomCodeStyleSettings> T getCustomSettings(@NotNull Class<T> aClass)