Program: 88734
Project: 88734
Buggy source:
public ArrayList toSaveArray(){
  if (getSaveArray() == null) {
    setSaveArray(new ArrayList());
  }
  removeEclipseDefs();
  Iterator keysIt=getConfig().keySet().iterator();
  while (keysIt.hasNext()) {
    String key=(String)keysIt.next();
    StringTokenizer st=new StringTokenizer(key);
    Object val=getConfig().get(key);
switch (st.countTokens()) {
case 1:
{
        String aliasName=st.nextToken();
        if (aliasName.equals("String_Node_Str"))         continue;
        System.out.println("String_Node_Str" + aliasName);
        getSaveArray().add(DASH + aliasName);
        if (val instanceof Boolean) {
          getSaveArray().add(val.toString());
        }
 else         if (val instanceof String) {
          String test=(String)val;
          String spliter="String_Node_Str";
          if (test.indexOf("String_Node_Str") != -1) {
            spliter="String_Node_Str";
          }
 else           if (test.indexOf('\n') != -1) {
            spliter="String_Node_Str";
          }
          System.out.println("String_Node_Str" + test);
          if (test.indexOf(spliter) != -1) {
            System.out.println("String_Node_Str");
            String[] tokens=test.split(spliter);
            getSaveArray().add(tokens[0]);
            for (int i=1; i < tokens.length; i++) {
              getSaveArray().add(DASH + aliasName);
              getSaveArray().add(tokens[i]);
              System.out.println("String_Node_Str" + tokens[i]);
            }
          }
 else {
            getSaveArray().add(val);
          }
        }
        break;
      }
case 3:
{
      getSaveArray().add(DASH + st.nextToken());
      getSaveArray().add(st.nextToken());
      String realVal=st.nextToken() + COLON;
      if (val instanceof Boolean) {
        realVal=realVal + val.toString();
      }
 else       if (val instanceof String) {
        realVal=realVal + val;
      }
      getSaveArray().add(realVal);
      break;
    }
default :
{
    break;
  }
}
}
return getSaveArray();
}

Fixed version (ground truth):
public ArrayList toSaveArray(){
  if (getSaveArray() == null) {
    setSaveArray(new ArrayList());
  }
  removeEclipseDefs();
  Iterator keysIt=getConfig().keySet().iterator();
  while (keysIt.hasNext()) {
    String key=(String)keysIt.next();
    StringTokenizer st=new StringTokenizer(key);
    Object val=getConfig().get(key);
    System.out.println("String_Node_Str" + val);
switch (st.countTokens()) {
case 1:
{
        String aliasName=st.nextToken();
        if (aliasName.equals("String_Node_Str"))         continue;
        System.out.println("String_Node_Str" + aliasName);
        if (val instanceof String) {
          String test=(String)val;
          if ((test == null) | (test.length() == 0)) {
            System.out.println("String_Node_Str");
            continue;
          }
        }
        getSaveArray().add(DASH + aliasName);
        if (val instanceof Boolean) {
          getSaveArray().add(val.toString());
        }
 else         if (val instanceof String) {
          String test=(String)val;
          String spliter="String_Node_Str";
          if (test.indexOf("String_Node_Str") != -1) {
            spliter="String_Node_Str";
          }
 else           if (test.indexOf('\n') != -1) {
            spliter="String_Node_Str";
          }
          System.out.println("String_Node_Str" + test);
          if (test.indexOf(spliter) != -1) {
            System.out.println("String_Node_Str");
            String[] tokens=test.split(spliter);
            getSaveArray().add(tokens[0]);
            for (int i=1; i < tokens.length; i++) {
              getSaveArray().add(DASH + aliasName);
              getSaveArray().add(tokens[i]);
              System.out.println("String_Node_Str" + tokens[i]);
            }
          }
 else {
            System.out.println("String_Node_Str" + val);
            getSaveArray().add(val);
          }
        }
        break;
      }
case 3:
{
      getSaveArray().add(DASH + st.nextToken());
      getSaveArray().add(st.nextToken());
      String realVal=st.nextToken() + COLON;
      if (val instanceof Boolean) {
        realVal=realVal + val.toString();
      }
 else       if (val instanceof String) {
        realVal=realVal + val;
      }
      getSaveArray().add(realVal);
      break;
    }
default :
{
    break;
  }
}
}
return getSaveArray();
}