public void registerModule(ModuleEntity module, boolean ignoreErrors) {
        for (ClassEntity entity : module.getClasses()) {
            if (entity.isStatic()) {
                entity.setModule(module);

                if (classMap.put(entity.getLowerName(), entity) != null && !ignoreErrors) {
                    error(entity.getTrace(), Messages.ERR_CANNOT_REDECLARE_CLASS.fetch(entity.getName()));
                }

                entity.register(this);
            }
        }

        for (FunctionEntity entity : module.getFunctions()) {
            if (entity.isStatic()) {
                entity.setModule(module);

                if (functionMap.put(entity.getLowerName(), entity) != null && !ignoreErrors) {
                    error(entity.getTrace(), Messages.ERR_CANNOT_REDECLARE_FUNCTION.fetch(entity.getName()));
                }

                entity.register(this);
            }
        }

        for (ConstantEntity entity : module.getConstants()) {
            entity.setModule(module);

            if (constantMap.put(entity.getLowerName(), entity) != null && !ignoreErrors) {
                error(entity.getTrace(), Messages.ERR_CANNOT_REDECLARE_CONSTANT.fetch(entity.getName()));
            }

            entity.register(this);
        }
    }
Remove all method which does not destruct

@throws Throwable
jphp-runtime/src/php/runtime/env/Environment.java