Program: 5411
Project: 5411
Buggy source:
@Override public void onEnable(){
  if (!initialized) {
    onLoad();
  }
  if (!loadError) {
    log.info("String_Node_Str");
    groupService=new GroupService(currentServer,config.getIgnoreGroups());
    StatsSerializer.enableSerializerCache=config.getEnableSerializerCache();
    getCommand("String_Node_Str").setExecutor(new PlayedCommand(controller));
    StatsPlayerListener spl=new StatsPlayerListener(controller);
    getServer().getPluginManager().registerEvent(Type.PLAYER_JOIN,spl,Priority.Monitor,this);
    getServer().getPluginManager().registerEvent(Type.PLAYER_QUIT,spl,Priority.Monitor,this);
    getServer().getPluginManager().registerEvent(Type.PLAYER_KICK,spl,Priority.Monitor,this);
    getServer().getPluginManager().registerEvent(Type.PLAYER_MOVE,spl,Priority.Monitor,this);
    getServer().getPluginManager().registerEvent(Type.PLAYER_DROP_ITEM,spl,Priority.Monitor,this);
    StatsEntityListener sel=new StatsEntityListener(controller);
    getServer().getPluginManager().registerEvent(Type.ENTITY_DEATH,sel,Priority.Monitor,this);
    getServer().getPluginManager().registerEvent(Type.ENTITY_DAMAGE,sel,Priority.Monitor,this);
    StatsBlockListener sbl=new StatsBlockListener(controller);
    getServer().getPluginManager().registerEvent(Type.BLOCK_PLACE,sbl,Priority.Monitor,this);
    getServer().getPluginManager().registerEvent(Type.BLOCK_BREAK,sbl,Priority.Monitor,this);
    if (config.getPlayersToPurge().length > 0) {
      for (      String playerName : config.getPlayersToPurge()) {
        model.purgePlayer(playerName);
      }
      config.clearPlayersToPurge();
    }
    if (config.getResetPlaytime()) {
      log.info("String_Node_Str");
      model.resetAllPlaytimes();
      config.clearResetPlaytime();
    }
    if (config.getWebserverEnabled()) {
      String resource=config.getStatsBaseResource();
      String contextRoot=config.getHttpServerContextRoot();
      log.info("String_Node_Str");
      try {
        server=HttpServer.create(new InetSocketAddress(config.getHttpPort()),config.getHttpBacklog());
        server.createContext(contextRoot,new StatsHttpHandler(model,config));
        server.setExecutor(null);
        server.start();
        log.info(String.format("String_Node_Str",config.getHttpPort(),contextRoot,resource + "String_Node_Str",resource + "String_Node_Str",resource + "String_Node_Str",resource + "String_Node_Str"));
      }
 catch (      IOException e) {
        log.log(Level.SEVERE,"String_Node_Str",e);
        log.severe("String_Node_Str");
      }
    }
    Runtime.getRuntime().addShutdownHook(hook);
    controller.logOutAllPlayers();
    controller.logInOnlinePlayers();
    model.startPersisting();
  }
}

Fixed version (ground truth):
@Override public void onEnable(){
  if (!initialized) {
    onLoad();
  }
  if (!loadError) {
    log.info("String_Node_Str");
    groupService=new GroupService(currentServer,config.getIgnoreGroups());
    IConomyService.initialize();
    StatsSerializer.enableSerializerCache=config.getEnableSerializerCache();
    getCommand("String_Node_Str").setExecutor(new PlayedCommand(controller));
    StatsPlayerListener spl=new StatsPlayerListener(controller);
    getServer().getPluginManager().registerEvent(Type.PLAYER_JOIN,spl,Priority.Monitor,this);
    getServer().getPluginManager().registerEvent(Type.PLAYER_QUIT,spl,Priority.Monitor,this);
    getServer().getPluginManager().registerEvent(Type.PLAYER_KICK,spl,Priority.Monitor,this);
    getServer().getPluginManager().registerEvent(Type.PLAYER_MOVE,spl,Priority.Monitor,this);
    getServer().getPluginManager().registerEvent(Type.PLAYER_DROP_ITEM,spl,Priority.Monitor,this);
    StatsEntityListener sel=new StatsEntityListener(controller);
    getServer().getPluginManager().registerEvent(Type.ENTITY_DEATH,sel,Priority.Monitor,this);
    getServer().getPluginManager().registerEvent(Type.ENTITY_DAMAGE,sel,Priority.Monitor,this);
    StatsBlockListener sbl=new StatsBlockListener(controller);
    getServer().getPluginManager().registerEvent(Type.BLOCK_PLACE,sbl,Priority.Monitor,this);
    getServer().getPluginManager().registerEvent(Type.BLOCK_BREAK,sbl,Priority.Monitor,this);
    if (config.getPlayersToPurge().length > 0) {
      for (      String playerName : config.getPlayersToPurge()) {
        model.purgePlayer(playerName);
      }
      config.clearPlayersToPurge();
    }
    if (config.getResetPlaytime()) {
      log.info("String_Node_Str");
      model.resetAllPlaytimes();
      config.clearResetPlaytime();
    }
    if (config.getWebserverEnabled()) {
      String resource=config.getStatsBaseResource();
      String contextRoot=config.getHttpServerContextRoot();
      log.info("String_Node_Str");
      try {
        server=HttpServer.create(new InetSocketAddress(config.getHttpPort()),config.getHttpBacklog());
        server.createContext(contextRoot,new StatsHttpHandler(model,config));
        server.setExecutor(null);
        server.start();
        log.info(String.format("String_Node_Str",config.getHttpPort(),contextRoot,resource + "String_Node_Str",resource + "String_Node_Str",resource + "String_Node_Str",resource + "String_Node_Str"));
      }
 catch (      IOException e) {
        log.log(Level.SEVERE,"String_Node_Str",e);
        log.severe("String_Node_Str");
      }
    }
    Runtime.getRuntime().addShutdownHook(hook);
    controller.logOutAllPlayers();
    controller.logInOnlinePlayers();
    model.startPersisting();
  }
}