Program: 42788
Project: 42788
Buggy source:
public static void printSensorData(String sensorname,StringTokenizer st,PrintStream writer){
switch (sensorname) {
case "String_Node_Str":
    String angle=st.nextToken();
  Double potValue=Double.parseDouble(angle);
potValue=-(potValue + OFFSET) / ARD_TO_DEG;
angle=potValue.toString();
writer.print("String_Node_Str" + angle + "String_Node_Str");
break;
case "String_Node_Str":
String dataword=st.nextToken();
String d=st.nextToken();
String v=st.nextToken();
String a=st.nextToken();
if ("String_Node_Str".equals(dataword)) {
dataword="String_Node_Str";
}
if ("String_Node_Str".equals(d)) {
d="String_Node_Str";
}
if ("String_Node_Str".equals(v)) {
v="String_Node_Str";
}
if ("String_Node_Str".equals(a)) {
a="String_Node_Str";
}
writer.print("String_Node_Str" + dataword + "String_Node_Str"+ d+ "String_Node_Str"+ v+ "String_Node_Str"+ a+ "String_Node_Str");
break;
case "String_Node_Str":
writer.print("String_Node_Str" + st.nextToken().toLowerCase() + "String_Node_Str");
break;
case "String_Node_Str":
st.nextToken();
writer.print("String_Node_Str" + st.nextToken() + "String_Node_Str"+ st.nextToken()+ "String_Node_Str"+ st.nextToken()+ "String_Node_Str"+ st.nextToken()+ "String_Node_Str");
writer.print("String_Node_Str" + st.nextToken() + "String_Node_Str"+ st.nextToken()+ "String_Node_Str"+ st.nextToken()+ "String_Node_Str"+ st.nextToken()+ "String_Node_Str");
break;
case "String_Node_Str":
String yaw=st.nextToken();
String pitch=st.nextToken();
String roll=st.nextToken();
writer.print("String_Node_Str" + roll + "String_Node_Str"+ pitch+ "String_Node_Str"+ yaw+ "String_Node_Str");
break;
default :
System.out.println("String_Node_Str" + sensorname);
}
}

Fixed version (ground truth):
public static void printSensorData(String sensorname,StringTokenizer st,PrintStream writer){
switch (sensorname) {
case "String_Node_Str":
    String angle=st.nextToken();
  Double potValue=Double.parseDouble(angle);
potValue=-(potValue + OFFSET) / ARD_TO_DEG;
angle=potValue.toString();
writer.print("String_Node_Str" + angle + "String_Node_Str");
break;
case "String_Node_Str":
String dataword=st.nextToken();
String d=st.nextToken();
String v=st.nextToken();
String a=st.nextToken();
if ("String_Node_Str".equals(dataword) || dataword.contains("String_Node_Str")) {
dataword="String_Node_Str";
}
if ("String_Node_Str".equals(d) || d.contains("String_Node_Str")) {
d="String_Node_Str";
}
if ("String_Node_Str".equals(v) || v.contains("String_Node_Str")) {
v="String_Node_Str";
}
if ("String_Node_Str".equals(a) || a.contains("String_Node_Str")) {
a="String_Node_Str";
}
writer.print("String_Node_Str" + dataword + "String_Node_Str"+ d+ "String_Node_Str"+ v+ "String_Node_Str"+ a+ "String_Node_Str");
break;
case "String_Node_Str":
writer.print("String_Node_Str" + st.nextToken().toLowerCase() + "String_Node_Str");
break;
case "String_Node_Str":
st.nextToken();
writer.print("String_Node_Str" + st.nextToken() + "String_Node_Str"+ st.nextToken()+ "String_Node_Str"+ st.nextToken()+ "String_Node_Str"+ st.nextToken()+ "String_Node_Str");
writer.print("String_Node_Str");
writer.print("String_Node_Str" + st.nextToken() + "String_Node_Str"+ st.nextToken()+ "String_Node_Str"+ st.nextToken()+ "String_Node_Str"+ st.nextToken()+ "String_Node_Str");
break;
case "String_Node_Str":
String yaw=st.nextToken();
String pitch=st.nextToken();
String roll=st.nextToken();
writer.print("String_Node_Str" + roll + "String_Node_Str"+ pitch+ "String_Node_Str"+ yaw+ "String_Node_Str");
break;
default :
System.out.println("String_Node_Str" + sensorname);
}
}