Program: 134827
Project: 134827
Buggy source:
public Class getClassType(TypeCode tc){
switch (tc.kind().value()) {
case TCKind._tk_objref:
    try {
      return Class.forName(IDtoClassName(tc.id()));
    }
 catch (    org.omg.CORBA.TypeCodePackage.BadKind e) {
      e.printStackTrace();
      return null;
    }
catch (    java.lang.ClassNotFoundException e) {
      return org.omg.CORBA.Object.class;
    }
case TCKind._tk_enum:
  return DataEnum.class;
case TCKind._tk_struct:
case TCKind._tk_except:
try {
  return Class.forName("String_Node_Str" + IDtoClassName(tc.id()));
}
 catch (org.omg.CORBA.TypeCodePackage.BadKind e) {
  e.printStackTrace();
  return null;
}
catch (java.lang.ClassNotFoundException e) {
  if (tc.kind().value() == TCKind._tk_struct)   return DataStruct.class;
 else   return DataException.class;
}
case TCKind._tk_sequence:
case TCKind._tk_array:
Class content;
try {
if (tc.content_type().kind() == TCKind.tk_struct) if (cStruct.equals(IDtoClassName(tc.content_type().id()))) {
return java.lang.Object[].class;
}
content=getClassType(tc.content_type());
}
 catch (org.omg.CORBA.TypeCodePackage.BadKind e) {
return null;
}
return java.lang.reflect.Array.newInstance(content,0).getClass();
case TCKind._tk_alias:
try {
if (tc.content_type().kind() == TCKind.tk_struct) if (cStruct.equals(IDtoClassName(tc.content_type().id()))) {
return java.lang.Object.class;
}
return getClassType(tc.content_type());
}
 catch (org.omg.CORBA.TypeCodePackage.BadKind e) {
return null;
}
case TCKind._tk_void:
return Void.TYPE;
case TCKind._tk_short:
return Short.TYPE;
case TCKind._tk_long:
return Integer.TYPE;
case TCKind._tk_ushort:
return Short.TYPE;
case TCKind._tk_ulong:
return Integer.TYPE;
case TCKind._tk_float:
return Float.TYPE;
case TCKind._tk_double:
return Double.TYPE;
case TCKind._tk_boolean:
return Boolean.TYPE;
case TCKind._tk_char:
return Character.TYPE;
case TCKind._tk_octet:
return Byte.TYPE;
case TCKind._tk_string:
return String.class;
case TCKind._tk_longlong:
return Long.TYPE;
case TCKind._tk_ulonglong:
return Long.TYPE;
case TCKind._tk_union:
case TCKind._tk_longdouble:
case TCKind._tk_wchar:
case TCKind._tk_wstring:
case TCKind._tk_fixed:
case TCKind._tk_value:
case TCKind._tk_value_box:
case TCKind._tk_native:
case TCKind._tk_TypeCode:
case TCKind._tk_Principal:
case TCKind._tk_abstract_interface:
case TCKind._tk_any:
case TCKind._tk_null:
default :
throw new IllegalArgumentException("String_Node_Str" + tc.kind().value() + "String_Node_Str");
}
}

Fixed version (ground truth):
public Class getClassType(TypeCode tc){
switch (tc.kind().value()) {
case TCKind._tk_objref:
    try {
      return Class.forName(IDtoClassName(tc.id()));
    }
 catch (    org.omg.CORBA.TypeCodePackage.BadKind e) {
      e.printStackTrace();
      return null;
    }
catch (    java.lang.ClassNotFoundException e) {
      return org.omg.CORBA.Object.class;
    }
case TCKind._tk_enum:
  return DataEnum.class;
case TCKind._tk_struct:
case TCKind._tk_except:
try {
  return Class.forName("String_Node_Str" + IDtoClassName(tc.id()));
}
 catch (org.omg.CORBA.TypeCodePackage.BadKind e) {
  e.printStackTrace();
  return null;
}
catch (java.lang.ClassNotFoundException e) {
  if (tc.kind().value() == TCKind._tk_struct)   return DataStruct.class;
 else   return DataException.class;
}
case TCKind._tk_sequence:
case TCKind._tk_array:
Class content;
try {
content=getClassType(tc.content_type());
}
 catch (org.omg.CORBA.TypeCodePackage.BadKind e) {
return null;
}
return java.lang.reflect.Array.newInstance(content,0).getClass();
case TCKind._tk_alias:
try {
return getClassType(tc.content_type());
}
 catch (org.omg.CORBA.TypeCodePackage.BadKind e) {
return null;
}
case TCKind._tk_void:
return Void.TYPE;
case TCKind._tk_short:
return Short.TYPE;
case TCKind._tk_long:
return Integer.TYPE;
case TCKind._tk_ushort:
return Short.TYPE;
case TCKind._tk_ulong:
return Integer.TYPE;
case TCKind._tk_float:
return Float.TYPE;
case TCKind._tk_double:
return Double.TYPE;
case TCKind._tk_boolean:
return Boolean.TYPE;
case TCKind._tk_char:
return Character.TYPE;
case TCKind._tk_octet:
return Byte.TYPE;
case TCKind._tk_string:
return String.class;
case TCKind._tk_longlong:
return Long.TYPE;
case TCKind._tk_ulonglong:
return Long.TYPE;
case TCKind._tk_union:
case TCKind._tk_longdouble:
case TCKind._tk_wchar:
case TCKind._tk_wstring:
case TCKind._tk_fixed:
case TCKind._tk_value:
case TCKind._tk_value_box:
case TCKind._tk_native:
case TCKind._tk_TypeCode:
case TCKind._tk_Principal:
case TCKind._tk_abstract_interface:
case TCKind._tk_any:
case TCKind._tk_null:
default :
throw new IllegalArgumentException("String_Node_Str" + tc.kind().value() + "String_Node_Str");
}
}