List<Class<? extends ExtensionPoint>> getExtensionPointClasses() {
        if (extensionPointClasses == null) {
            Set<Class<? extends ExtensionPoint>> classes = (Set) ClassUtil.getInterfaces(getClass(),
                    interfaceClass -> ClassUtil.isSuperClass(interfaceClass, ExtensionPoint.class));
            extensionPointClasses = new ArrayList<>(classes);
        }
        return extensionPointClasses;
    }
The method should be protected, but it is public for testing purposes.
turms-server-common/src/main/java/im/turms/server/common/infra/plugin/TurmsExtension.java