Program: 66161
Project: 66161
Buggy source:
/** 
 * Builds a map of Java types to XML types.
 * @return
 */
private HashMap buildXMLToJavaTypeMap(){
  HashMap javaTypes=new HashMap();
  javaTypes.put(APBYTE,XMLConstants.BASE_64_BINARY_QNAME);
  javaTypes.put(BIGDECIMAL,XMLConstants.DECIMAL_QNAME);
  javaTypes.put(BIGINTEGER,XMLConstants.INTEGER_QNAME);
  javaTypes.put(PBOOLEAN,XMLConstants.BOOLEAN_QNAME);
  javaTypes.put(PBYTE,XMLConstants.BYTE_QNAME);
  javaTypes.put(CALENDAR,XMLConstants.DATE_TIME_QNAME);
  javaTypes.put(PDOUBLE,XMLConstants.DOUBLE_QNAME);
  javaTypes.put(PFLOAT,XMLConstants.FLOAT_QNAME);
  javaTypes.put(PINT,XMLConstants.INT_QNAME);
  javaTypes.put(PLONG,XMLConstants.LONG_QNAME);
  javaTypes.put(PSHORT,XMLConstants.SHORT_QNAME);
  javaTypes.put(QNAME_CLASS,XMLConstants.QNAME_QNAME);
  javaTypes.put(STRING,XMLConstants.STRING_QNAME);
  javaTypes.put(ABYTE,XMLConstants.BASE_64_BINARY_QNAME);
  javaTypes.put(BOOLEAN,XMLConstants.BOOLEAN_QNAME);
  javaTypes.put(BYTE,XMLConstants.BYTE_QNAME);
  javaTypes.put(GREGORIAN_CALENDAR,XMLConstants.DATE_TIME_QNAME);
  javaTypes.put(DOUBLE,XMLConstants.DOUBLE_QNAME);
  javaTypes.put(FLOAT,XMLConstants.FLOAT_QNAME);
  javaTypes.put(INTEGER,XMLConstants.INT_QNAME);
  javaTypes.put(LONG,XMLConstants.LONG_QNAME);
  javaTypes.put(SHORT,XMLConstants.SHORT_QNAME);
  javaTypes.put(UTIL_DATE,XMLConstants.DATE_TIME_QNAME);
  javaTypes.put(SQL_DATE,XMLConstants.DATE_QNAME);
  javaTypes.put(SQL_TIME,XMLConstants.TIME_QNAME);
  javaTypes.put(SQL_TIMESTAMP,XMLConstants.DATE_TIME_QNAME);
  javaTypes.put(XMLGREGORIANCALENDAR,XMLConstants.ANY_SIMPLE_TYPE_QNAME);
  javaTypes.put(DURATION,XMLConstants.DURATION_QNAME);
  javaTypes.put(UUID,XMLConstants.STRING_QNAME);
  javaTypes.put(URI,XMLConstants.STRING_QNAME);
  return javaTypes;
}

Fixed version (ground truth):
/** 
 * Builds a map of Java types to XML types.
 * @return
 */
private HashMap buildXMLToJavaTypeMap(){
  HashMap javaTypes=new HashMap();
  javaTypes.put(APBYTE,XMLConstants.BASE_64_BINARY_QNAME);
  javaTypes.put(BIGDECIMAL,XMLConstants.DECIMAL_QNAME);
  javaTypes.put(BIGINTEGER,XMLConstants.INTEGER_QNAME);
  javaTypes.put(PBOOLEAN,XMLConstants.BOOLEAN_QNAME);
  javaTypes.put(PBYTE,XMLConstants.BYTE_QNAME);
  javaTypes.put(CALENDAR,XMLConstants.DATE_TIME_QNAME);
  javaTypes.put(PDOUBLE,XMLConstants.DOUBLE_QNAME);
  javaTypes.put(PFLOAT,XMLConstants.FLOAT_QNAME);
  javaTypes.put(PINT,XMLConstants.INT_QNAME);
  javaTypes.put(PLONG,XMLConstants.LONG_QNAME);
  javaTypes.put(PSHORT,XMLConstants.SHORT_QNAME);
  javaTypes.put(QNAME_CLASS,XMLConstants.QNAME_QNAME);
  javaTypes.put(STRING,XMLConstants.STRING_QNAME);
  javaTypes.put(ABYTE,XMLConstants.BASE_64_BINARY_QNAME);
  javaTypes.put(BOOLEAN,XMLConstants.BOOLEAN_QNAME);
  javaTypes.put(BYTE,XMLConstants.BYTE_QNAME);
  javaTypes.put(GREGORIAN_CALENDAR,XMLConstants.DATE_TIME_QNAME);
  javaTypes.put(DOUBLE,XMLConstants.DOUBLE_QNAME);
  javaTypes.put(FLOAT,XMLConstants.FLOAT_QNAME);
  javaTypes.put(INTEGER,XMLConstants.INT_QNAME);
  javaTypes.put(LONG,XMLConstants.LONG_QNAME);
  javaTypes.put(SHORT,XMLConstants.SHORT_QNAME);
  javaTypes.put(UTIL_DATE,XMLConstants.DATE_TIME_QNAME);
  javaTypes.put(SQL_DATE,XMLConstants.DATE_QNAME);
  javaTypes.put(SQL_TIME,XMLConstants.TIME_QNAME);
  javaTypes.put(SQL_TIMESTAMP,XMLConstants.DATE_TIME_QNAME);
  javaTypes.put(DURATION,XMLConstants.DURATION_QNAME);
  javaTypes.put(UUID,XMLConstants.STRING_QNAME);
  javaTypes.put(URI,XMLConstants.STRING_QNAME);
  return javaTypes;
}