Program: 36378
Project: 36378
Buggy source:
@Override public List<String> getWailaBody(ItemStack itemStack,List<String> toolTip,IWailaDataAccessor accessor,IWailaConfigHandler config){
  if (config.getConfig("String_Node_Str",false) && !accessor.getPlayer().isSneaking())   return toolTip;
  if (config.getConfig("String_Node_Str") && accessor.getBlock().blockMaterial.isToolNotRequired())   return toolTip;
  boolean showHarvestLevel=config.getConfig("String_Node_Str");
  boolean showEffectiveTool=config.getConfig("String_Node_Str");
  boolean showCurrentlyHarvestable=config.getConfig("String_Node_Str");
  boolean showOresOnly=config.getConfig("String_Node_Str",false);
  boolean minimalLayout=config.getConfig("String_Node_Str",false);
  boolean hideWhileHarvestable=config.getConfig("String_Node_Str",false);
  if (showHarvestLevel || showEffectiveTool || showCurrentlyHarvestable) {
    int oreID=-1;
    if (showOresOnly && ((oreID=OreDictionary.getOreID(itemStack)) == -1 || !OreDictionary.getOreName(oreID).startsWith("String_Node_Str"))) {
      return toolTip;
    }
    String toolClasses[]=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"};
    int harvestLevels[]=new int[toolClasses.length];
    boolean blockHasEffectiveTools=BlockHelper.getHarvestLevelsOf(accessor.getBlock(),accessor.getMetadata(),toolClasses,harvestLevels);
    if (!blockHasEffectiveTools)     return toolTip;
    int harvestLevel=-1;
    String effectiveTool="String_Node_Str";
    int i=0;
    for (    String toolClass : toolClasses) {
      if (harvestLevels[i] >= 0) {
        harvestLevel=harvestLevels[i];
        effectiveTool=toolClass;
        break;
      }
      i++;
    }
    boolean canHarvest=false;
    boolean isEffective=false;
    boolean isAboveMinHarvestLevel=false;
    ItemStack itemHeld=accessor.getPlayer().getHeldItem();
    if (itemHeld != null) {
      canHarvest=ToolHelper.canToolHarvestBlock(itemHeld,accessor.getBlock(),accessor.getMetadata());
      isAboveMinHarvestLevel=(showCurrentlyHarvestable || showHarvestLevel) && ToolHelper.canToolHarvestLevel(itemHeld,accessor.getBlock(),accessor.getMetadata(),harvestLevel);
      isEffective=showEffectiveTool && ToolHelper.isToolEffectiveAgainst(itemHeld,accessor.getBlock(),accessor.getMetadata(),effectiveTool);
    }
    boolean isCurrentlyHarvestable=canHarvest && isAboveMinHarvestLevel;
    if (hideWhileHarvestable && isCurrentlyHarvestable)     return toolTip;
    if (!minimalLayout) {
      if (showCurrentlyHarvestable)       toolTip.add(ColorHelper.getBooleanColor(isCurrentlyHarvestable) + (isCurrentlyHarvestable ? "String_Node_Str" : "String_Node_Str") + EnumChatFormatting.RESET+ "String_Node_Str");
      if (harvestLevel != -1 && showEffectiveTool)       toolTip.add("String_Node_Str" + ColorHelper.getBooleanColor(isEffective && canHarvest,isEffective && !canHarvest) + StatCollector.translateToLocal("String_Node_Str" + effectiveTool));
      if (harvestLevel >= 1 && showHarvestLevel)       toolTip.add("String_Node_Str" + ColorHelper.getBooleanColor(isAboveMinHarvestLevel && canHarvest) + StringHelper.getHarvestLevelName(harvestLevel));
    }
 else {
      List<String> stringParts=new ArrayList<String>();
      if (showCurrentlyHarvestable)       stringParts.add(ColorHelper.getBooleanColor(isCurrentlyHarvestable) + (isCurrentlyHarvestable ? "String_Node_Str" : "String_Node_Str"));
      if (harvestLevel != -1 && showEffectiveTool)       stringParts.add(ColorHelper.getBooleanColor(isEffective && canHarvest,isEffective && !canHarvest) + StatCollector.translateToLocal("String_Node_Str" + effectiveTool));
      if (harvestLevel >= 1 && showHarvestLevel)       stringParts.add(ColorHelper.getBooleanColor(isAboveMinHarvestLevel && canHarvest) + StringHelper.getHarvestLevelName(harvestLevel));
      if (!stringParts.isEmpty()) {
        toolTip.add(StringHelper.concatenateStringList(stringParts,EnumChatFormatting.RESET + "String_Node_Str"));
      }
    }
  }
  return toolTip;
}

Fixed version (ground truth):
@Override public List<String> getWailaBody(ItemStack itemStack,List<String> toolTip,IWailaDataAccessor accessor,IWailaConfigHandler config){
  if (config.getConfig("String_Node_Str") && accessor.getBlock().blockMaterial.isToolNotRequired())   return toolTip;
  boolean isSneaking=accessor.getPlayer().isSneaking();
  boolean showHarvestLevel=config.getConfig("String_Node_Str") && (!config.getConfig("String_Node_Str") || isSneaking);
  boolean showEffectiveTool=config.getConfig("String_Node_Str") && (!config.getConfig("String_Node_Str") || isSneaking);
  boolean showCurrentlyHarvestable=config.getConfig("String_Node_Str") && (!config.getConfig("String_Node_Str") || isSneaking);
  boolean showOresOnly=config.getConfig("String_Node_Str",false);
  boolean minimalLayout=config.getConfig("String_Node_Str",false);
  boolean hideWhileHarvestable=config.getConfig("String_Node_Str",false);
  if (showHarvestLevel || showEffectiveTool || showCurrentlyHarvestable) {
    int oreID=-1;
    if (showOresOnly && ((oreID=OreDictionary.getOreID(itemStack)) == -1 || !OreDictionary.getOreName(oreID).startsWith("String_Node_Str"))) {
      return toolTip;
    }
    String toolClasses[]=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"};
    int harvestLevels[]=new int[toolClasses.length];
    boolean blockHasEffectiveTools=BlockHelper.getHarvestLevelsOf(accessor.getBlock(),accessor.getMetadata(),toolClasses,harvestLevels);
    if (!blockHasEffectiveTools)     return toolTip;
    int harvestLevel=-1;
    String effectiveTool="String_Node_Str";
    int i=0;
    for (    String toolClass : toolClasses) {
      if (harvestLevels[i] >= 0) {
        harvestLevel=harvestLevels[i];
        effectiveTool=toolClass;
        break;
      }
      i++;
    }
    boolean canHarvest=false;
    boolean isEffective=false;
    boolean isAboveMinHarvestLevel=false;
    boolean isHoldingTinkersTool=false;
    ItemStack itemHeld=accessor.getPlayer().getHeldItem();
    if (itemHeld != null) {
      isHoldingTinkersTool=ToolHelper.hasToolTag(itemHeld);
      canHarvest=ToolHelper.canToolHarvestBlock(itemHeld,accessor.getBlock(),accessor.getMetadata());
      isAboveMinHarvestLevel=(showCurrentlyHarvestable || showHarvestLevel) && ToolHelper.canToolHarvestLevel(itemHeld,accessor.getBlock(),accessor.getMetadata(),harvestLevel);
      isEffective=showEffectiveTool && ToolHelper.isToolEffectiveAgainst(itemHeld,accessor.getBlock(),accessor.getMetadata(),effectiveTool);
    }
    boolean isCurrentlyHarvestable=(canHarvest && isAboveMinHarvestLevel) || (!isHoldingTinkersTool && ForgeHooks.canHarvestBlock(accessor.getBlock(),accessor.getPlayer(),accessor.getMetadata()));
    if (hideWhileHarvestable && isCurrentlyHarvestable)     return toolTip;
    if (!minimalLayout) {
      if (showCurrentlyHarvestable)       toolTip.add(ColorHelper.getBooleanColor(isCurrentlyHarvestable) + (isCurrentlyHarvestable ? "String_Node_Str" : "String_Node_Str") + EnumChatFormatting.RESET+ "String_Node_Str");
      if (harvestLevel != -1 && showEffectiveTool)       toolTip.add("String_Node_Str" + ColorHelper.getBooleanColor(isEffective && canHarvest,isEffective && !canHarvest) + StatCollector.translateToLocal("String_Node_Str" + effectiveTool));
      if (harvestLevel >= 1 && showHarvestLevel)       toolTip.add("String_Node_Str" + ColorHelper.getBooleanColor(isAboveMinHarvestLevel && canHarvest) + StringHelper.getHarvestLevelName(harvestLevel));
    }
 else {
      List<String> stringParts=new ArrayList<String>();
      if (showCurrentlyHarvestable)       stringParts.add(ColorHelper.getBooleanColor(isCurrentlyHarvestable) + (isCurrentlyHarvestable ? "String_Node_Str" : "String_Node_Str"));
      if (harvestLevel != -1 && showEffectiveTool)       stringParts.add(ColorHelper.getBooleanColor(isEffective && canHarvest,isEffective && !canHarvest) + StatCollector.translateToLocal("String_Node_Str" + effectiveTool));
      if (harvestLevel >= 1 && showHarvestLevel)       stringParts.add(ColorHelper.getBooleanColor(isAboveMinHarvestLevel && canHarvest) + StringHelper.getHarvestLevelName(harvestLevel));
      if (!stringParts.isEmpty()) {
        toolTip.add(StringHelper.concatenateStringList(stringParts,EnumChatFormatting.RESET + Config.MINIMAL_SEPARATOR_STRING));
      }
    }
  }
  return toolTip;
}