Program: 151640
Project: 151640
Buggy source:
@DefaultCommand public void listCommands(@Option(name="String_Node_Str",shortName="String_Node_Str",flagOnly=true) final boolean showAll){
  List<String> listData;
  Map<String,List<String>> listGroups=new TreeMap<String,List<String>>();
  Class<? extends Resource> currResource=shell.getCurrentResource().getClass();
  for (  List<PluginMetadata> lpm : registry.getPlugins().values()) {
    for (    PluginMetadata pluginMetadata : lpm) {
      ConstraintEnforcer enforcer=new ConstraintEnforcer();
      if (showAll || enforcer.isAvailable(shell.getCurrentProject(),pluginMetadata)) {
        if (!listGroups.containsKey(pluginMetadata.getTopic())) {
          listGroups.put(pluginMetadata.getTopic(),listData=new ArrayList<String>());
        }
 else {
          listData=listGroups.get(pluginMetadata.getTopic());
        }
        for (        CommandMetadata commandMetadata : pluginMetadata.getAllCommands()) {
          String name=render(showAll,currResource,commandMetadata);
          if (name.endsWith("String_Node_Str")) {
            listData.remove(name.substring(0,name.length() - 1));
          }
          listData.remove(name);
          if (!"String_Node_Str".equals(name)) {
            listData.add(name);
          }
        }
        if (!listGroups.containsKey(pluginMetadata.getTopic())) {
          listGroups.put(pluginMetadata.getTopic(),listData);
        }
      }
    }
  }
  GeneralUtils.OutputAttributes attr=null;
  for (  Map.Entry<String,List<String>> entry : listGroups.entrySet()) {
    attr=GeneralUtils.calculateOutputAttributs(entry.getValue(),shell,attr);
  }
  FormatCallback formatCallback=new FormatCallback(){
    @Override public String format(    final int column,    final String value){
      return value.endsWith("String_Node_Str") ? shell.renderColor(ShellColor.BOLD,value) : value;
    }
  }
;
  for (  Map.Entry<String,List<String>> entry : listGroups.entrySet()) {
    shell.println();
    shell.println(ShellColor.RED,"String_Node_Str" + entry.getKey().toUpperCase() + "String_Node_Str");
    printOutColumns(entry.getValue(),ShellColor.NONE,shell,attr,formatCallback,true);
  }
  shell.println();
  if (showAll) {
    shell.println("String_Node_Str");
  }
 else {
    shell.println("String_Node_Str");
  }
}

Fixed version (ground truth):
@DefaultCommand public void listCommands(@Option(name="String_Node_Str",shortName="String_Node_Str",flagOnly=true) final boolean showAll,final PipeOut pipeOut){
  List<String> listData;
  Map<String,List<String>> listGroups=new TreeMap<String,List<String>>();
  Class<? extends Resource> currResource=shell.getCurrentResource().getClass();
  for (  List<PluginMetadata> lpm : registry.getPlugins().values()) {
    for (    PluginMetadata pluginMetadata : lpm) {
      ConstraintEnforcer enforcer=new ConstraintEnforcer();
      if (showAll || enforcer.isAvailable(shell.getCurrentProject(),pluginMetadata)) {
        if (!listGroups.containsKey(pluginMetadata.getTopic())) {
          listGroups.put(pluginMetadata.getTopic(),listData=new ArrayList<String>());
        }
 else {
          listData=listGroups.get(pluginMetadata.getTopic());
        }
        for (        CommandMetadata commandMetadata : pluginMetadata.getAllCommands()) {
          String name=render(showAll,currResource,commandMetadata);
          if (name.endsWith("String_Node_Str")) {
            listData.remove(name.substring(0,name.length() - 1));
          }
          listData.remove(name);
          if (!"String_Node_Str".equals(name)) {
            listData.add(name);
          }
        }
        if (!listGroups.containsKey(pluginMetadata.getTopic())) {
          listGroups.put(pluginMetadata.getTopic(),listData);
        }
      }
    }
  }
  GeneralUtils.OutputAttributes attr=null;
  if (pipeOut.isPiped()) {
    attr=new GeneralUtils.OutputAttributes(120,1);
  }
 else {
    for (    Map.Entry<String,List<String>> entry : listGroups.entrySet()) {
      attr=GeneralUtils.calculateOutputAttributs(entry.getValue(),shell,attr);
    }
  }
  FormatCallback formatCallback=new FormatCallback(){
    @Override public String format(    final int column,    final String value){
      return value.endsWith("String_Node_Str") ? pipeOut.renderColor(ShellColor.BOLD,value) : value;
    }
  }
;
  for (  Map.Entry<String,List<String>> entry : listGroups.entrySet()) {
    if (!pipeOut.isPiped()) {
      pipeOut.println();
      pipeOut.println(ShellColor.RED,"String_Node_Str" + entry.getKey().toUpperCase() + "String_Node_Str");
    }
    printOutColumns(entry.getValue(),ShellColor.NONE,pipeOut,attr,formatCallback,true);
  }
  if (!pipeOut.isPiped()) {
    pipeOut.println();
    if (showAll) {
      pipeOut.println("String_Node_Str");
    }
 else {
      pipeOut.println("String_Node_Str");
    }
  }
}