Program: 899
Project: 899
Buggy source:
@Override public void onOpened(){
  super.onOpened();
  Set<Module> selectedModules=Sets.newHashSet();
  for (  Name moduleName : config.getDefaultModSelection().listModules()) {
    Module module=moduleManager.getRegistry().getLatestModuleVersion(moduleName);
    if (module != null) {
      selectedModules.add(module);
      for (      DependencyInfo dependencyInfo : module.getMetadata().getDependencies()) {
        selectedModules.add(moduleManager.getRegistry().getLatestModuleVersion(dependencyInfo.getId()));
      }
    }
  }
  ModuleEnvironment environment=moduleManager.loadEnvironment(selectedModules,false);
  CoreRegistry.put(WorldGeneratorPluginLibrary.class,new WorldGeneratorPluginLibrary(environment,CoreRegistry.get(ReflectFactory.class),CoreRegistry.get(CopyStrategyLibrary.class)));
  PropertyLayout properties=find("String_Node_Str",PropertyLayout.class);
  properties.setOrdering(PropertyOrdering.byLabel());
  properties.clear();
  SimpleUri generatorUri=config.getWorldGeneration().getDefaultGenerator();
  WorldGeneratorInfo info=worldGeneratorManager.getWorldGeneratorInfo(generatorUri);
  if (info == null) {
    return;
  }
  try {
    WorldGenerator wg=worldGeneratorManager.createGenerator(info.getUri());
    wg.setWorldSeed("String_Node_Str");
    if (wg.getConfigurator().isPresent()) {
      WorldConfigurator worldConfig=wg.getConfigurator().get();
      params=Maps.newHashMap(worldConfig.getProperties());
      for (      String key : params.keySet()) {
        Class<? extends Component> clazz=params.get(key).getClass();
        Component comp=config.getModuleConfig(generatorUri,key,clazz);
        if (comp != null) {
          params.put(key,comp);
        }
      }
      for (      String label : params.keySet()) {
        PropertyProvider<?> provider=new PropertyProvider<>(params.get(label));
        properties.addPropertyProvider(label,provider);
      }
    }
 else {
      logger.info(info.getUri().toString() + "String_Node_Str");
    }
  }
 catch (  UnresolvedWorldGeneratorException e) {
    logger.error("String_Node_Str",e);
  }
}

Fixed version (ground truth):
@Override public void onOpened(){
  super.onOpened();
  WorldGeneratorPluginLibrary.setupTempEnvironmentForPlugins();
  PropertyLayout properties=find("String_Node_Str",PropertyLayout.class);
  properties.setOrdering(PropertyOrdering.byLabel());
  properties.clear();
  SimpleUri generatorUri=config.getWorldGeneration().getDefaultGenerator();
  WorldGeneratorInfo info=worldGeneratorManager.getWorldGeneratorInfo(generatorUri);
  if (info == null) {
    return;
  }
  try {
    WorldGenerator wg=worldGeneratorManager.createGenerator(info.getUri());
    wg.setWorldSeed("String_Node_Str");
    if (wg.getConfigurator().isPresent()) {
      WorldConfigurator worldConfig=wg.getConfigurator().get();
      params=Maps.newHashMap(worldConfig.getProperties());
      for (      String key : params.keySet()) {
        Class<? extends Component> clazz=params.get(key).getClass();
        Component comp=config.getModuleConfig(generatorUri,key,clazz);
        if (comp != null) {
          params.put(key,comp);
        }
      }
      for (      String label : params.keySet()) {
        PropertyProvider<?> provider=new PropertyProvider<>(params.get(label));
        properties.addPropertyProvider(label,provider);
      }
    }
 else {
      logger.info(info.getUri().toString() + "String_Node_Str");
    }
  }
 catch (  UnresolvedWorldGeneratorException e) {
    logger.error("String_Node_Str",e);
  }
}