private static @NotNull ModuleType<?> instantiate(String className) {
    try {
      return (ModuleType<?>)Class.forName(className).newInstance();
    }
    catch (Exception e) {
      throw new IllegalArgumentException(e);
    }
  }
private static @NotNull ModuleType<?> instantiate(String className)