@Override
  public Module preloadModule(ModuleIdentifier identifier) throws ModuleLoadException {
    ModuleHolder holder = getModuleHolder(identifier);
    if (holder == null) throw new IllegalStateException("Cannot find module: " + identifier);

    Module module = holder.getModule();
    if (module == null) {
      module = super.preloadModule(identifier);
      holder.setModule(module);
    }
    return module;
  }
 public Module getModule(ModuleIdentifier identifier) {
   ModuleHolder holder = getModuleHolder(identifier);
   return holder != null ? holder.getModule() : null;
 }
 public AbstractRevision getBundleRevision(ModuleIdentifier identifier) {
   ModuleHolder holder = getModuleHolder(identifier);
   return holder != null ? holder.getBundleRevision() : null;
 }
 @Override
 public ModuleSpec findModule(ModuleIdentifier identifier) throws ModuleLoadException {
   ModuleHolder holder = getModuleHolder(identifier);
   return holder != null ? holder.getModuleSpec() : null;
 }