Program: 91658
Project: 91658
Buggy source:
/** 
 * Tests XML unmarshalling for a metadata version. The version is not specified since it should be detected automatically.
 * @param file  file containing the metadata to unmarshal.
 */
private void testUnmarshalling(final String file) throws JAXBException {
  final DefaultCitation c=unmarshalFile(DefaultCitation.class,file);
  assertTitleEquals("String_Node_Str","String_Node_Str",c);
  final CitationDate date=getSingleton(c.getDates());
  assertEquals("String_Node_Str",date.getDate(),TestUtilities.date("String_Node_Str"));
  assertEquals("String_Node_Str",date.getDateType(),DateType.ADOPTED);
  assertEquals("String_Node_Str",PresentationForm.PHYSICAL_OBJECT,getSingleton(c.getPresentationForms()));
  final Iterator<Responsibility> it=c.getCitedResponsibleParties().iterator();
  final Contact contact=assertResponsibilityEquals(Role.ORIGINATOR,"String_Node_Str",it.next());
  assertEquals("String_Node_Str","String_Node_Str",String.valueOf(contact.getContactInstructions()));
  final OnlineResource resource=TestUtilities.getSingleton(contact.getOnlineResources());
  assertEquals("String_Node_Str","String_Node_Str",String.valueOf(resource.getName()));
  assertEquals("String_Node_Str","String_Node_Str",String.valueOf(resource.getDescription()));
  assertEquals("String_Node_Str","String_Node_Str",String.valueOf(resource.getLinkage()));
  assertEquals("String_Node_Str",OnLineFunction.OFFLINE_ACCESS,resource.getFunction());
  assertSame("String_Node_Str",contact,assertResponsibilityEquals(Role.FUNDER,"String_Node_Str",it.next()));
  assertFalse(it.hasNext());
}

Fixed version (ground truth):
/** 
 * Tests XML unmarshalling for a metadata version. The version is not specified since it should be detected automatically.
 * @param file  file containing the metadata to unmarshal.
 */
private void testUnmarshalling(final String file) throws JAXBException {
  final DefaultCitation c=unmarshalFile(DefaultCitation.class,file);
  assertTitleEquals("String_Node_Str","String_Node_Str",c);
  final CitationDate date=getSingleton(c.getDates());
  assertEquals("String_Node_Str",date.getDate(),TestUtilities.date("String_Node_Str"));
  assertEquals("String_Node_Str",DateType.ADOPTED,date.getDateType());
  assertEquals("String_Node_Str",PresentationForm.PHYSICAL_OBJECT,getSingleton(c.getPresentationForms()));
  final Iterator<Responsibility> it=c.getCitedResponsibleParties().iterator();
  final Contact contact=assertResponsibilityEquals(Role.ORIGINATOR,"String_Node_Str",it.next());
  assertEquals("String_Node_Str","String_Node_Str",String.valueOf(contact.getContactInstructions()));
  final OnlineResource resource=TestUtilities.getSingleton(contact.getOnlineResources());
  assertEquals("String_Node_Str","String_Node_Str",String.valueOf(resource.getName()));
  assertEquals("String_Node_Str","String_Node_Str",String.valueOf(resource.getDescription()));
  assertEquals("String_Node_Str","String_Node_Str",String.valueOf(resource.getLinkage()));
  assertEquals("String_Node_Str",OnLineFunction.OFFLINE_ACCESS,resource.getFunction());
  assertSame("String_Node_Str",contact,assertResponsibilityEquals(Role.FUNDER,"String_Node_Str",it.next()));
  assertFalse(it.hasNext());
}