Program: 65114
Project: 65114
Buggy source:
/** 
 * Get a property from the JAXBMarshaller. Attempting to get any unsupported property will result in a javax.xml.bind.PropertyException 
 * @see org.eclipse.persistence.jaxb.MarshallerProperties
 */
public Object getProperty(String key) throws PropertyException {
  if (key == null) {
    throw new IllegalArgumentException();
  }
 else   if (JAXB_FORMATTED_OUTPUT.equals(key)) {
    return xmlMarshaller.isFormattedOutput();
  }
 else   if (JAXB_ENCODING.equals(key)) {
    return xmlMarshaller.getEncoding();
  }
 else   if (JAXB_SCHEMA_LOCATION.equals(key)) {
    return xmlMarshaller.getSchemaLocation();
  }
 else   if (JAXB_NO_NAMESPACE_SCHEMA_LOCATION.equals(key)) {
    return xmlMarshaller.getNoNamespaceSchemaLocation();
  }
 else   if (XMLConstants.JAXB_FRAGMENT.equals(key)) {
    return xmlMarshaller.isFragment();
  }
 else   if (MarshallerProperties.MEDIA_TYPE.equals(key)) {
    return xmlMarshaller.getMediaType();
  }
 else   if (MarshallerProperties.NAMESPACE_PREFIX_MAPPER.equals(key)) {
    return xmlMarshaller.getNamespacePrefixMapper();
  }
 else   if (MarshallerProperties.INDENT_STRING.equals(key) || SUN_INDENT_STRING.equals(key) || SUN_JSE_INDENT_STRING.equals(key)) {
    return xmlMarshaller.getIndentString();
  }
 else   if (MarshallerProperties.CHARACTER_ESCAPE_HANDLER.equals(key)) {
    return xmlMarshaller.getCharacterEscapeHandler();
  }
 else   if (XML_DECLARATION.equals(key)) {
    return !xmlMarshaller.isFragment();
  }
 else   if (XML_HEADERS.equals(key)) {
    return xmlMarshaller.getXmlHeader();
  }
 else   if (OBJECT_IDENTITY_CYCLE_DETECTION.equals(key)) {
    return xmlMarshaller.isEqualUsingIdenity();
  }
 else   if (MarshallerProperties.JSON_ATTRIBUTE_PREFIX.equals(key)) {
    return xmlMarshaller.getAttributePrefix();
  }
 else   if (MarshallerProperties.JSON_INCLUDE_ROOT.equals(key)) {
    return xmlMarshaller.isIncludeRoot();
  }
 else   if (MarshallerProperties.JSON_VALUE_WRAPPER.equals(key)) {
    return xmlMarshaller.getValueWrapper();
  }
 else   if (MarshallerProperties.JSON_NAMESPACE_SEPARATOR.equals(key)) {
    return xmlMarshaller.getNamespaceSeparator();
  }
 else   if (SUN_CHARACTER_ESCAPE_HANDLER.equals(key) || SUN_JSE_CHARACTER_ESCAPE_HANDLER.equals(key)) {
    if (xmlMarshaller.getCharacterEscapeHandler() instanceof CharacterEscapeHandlerWrapper) {
      CharacterEscapeHandlerWrapper wrapper=(CharacterEscapeHandlerWrapper)xmlMarshaller.getCharacterEscapeHandler();
      return wrapper.getHandler();
    }
    return xmlMarshaller.getCharacterEscapeHandler();
  }
 else   if (SUN_NAMESPACE_PREFIX_MAPPER.equals(key) || SUN_JSE_NAMESPACE_PREFIX_MAPPER.equals(key)) {
    NamespacePrefixMapperWrapper wrapper=(NamespacePrefixMapperWrapper)xmlMarshaller.getNamespacePrefixMapper();
    return wrapper.getPrefixMapper();
  }
  throw new PropertyException(key);
}

Fixed version (ground truth):
/** 
 * Get a property from the JAXBMarshaller. Attempting to get any unsupported property will result in a javax.xml.bind.PropertyException 
 * @see org.eclipse.persistence.jaxb.MarshallerProperties
 */
public Object getProperty(String key) throws PropertyException {
  if (key == null) {
    throw new IllegalArgumentException();
  }
 else   if (JAXB_FORMATTED_OUTPUT.equals(key)) {
    return xmlMarshaller.isFormattedOutput();
  }
 else   if (JAXB_ENCODING.equals(key)) {
    return xmlMarshaller.getEncoding();
  }
 else   if (JAXB_SCHEMA_LOCATION.equals(key)) {
    return xmlMarshaller.getSchemaLocation();
  }
 else   if (JAXB_NO_NAMESPACE_SCHEMA_LOCATION.equals(key)) {
    return xmlMarshaller.getNoNamespaceSchemaLocation();
  }
 else   if (XMLConstants.JAXB_FRAGMENT.equals(key)) {
    return xmlMarshaller.isFragment();
  }
 else   if (MarshallerProperties.MEDIA_TYPE.equals(key)) {
    return xmlMarshaller.getMediaType();
  }
 else   if (MarshallerProperties.NAMESPACE_PREFIX_MAPPER.equals(key)) {
    return xmlMarshaller.getNamespacePrefixMapper();
  }
 else   if (MarshallerProperties.INDENT_STRING.equals(key) || SUN_INDENT_STRING.equals(key) || SUN_JSE_INDENT_STRING.equals(key)) {
    return xmlMarshaller.getIndentString();
  }
 else   if (MarshallerProperties.CHARACTER_ESCAPE_HANDLER.equals(key)) {
    return xmlMarshaller.getCharacterEscapeHandler();
  }
 else   if (XML_DECLARATION.equals(key)) {
    return !xmlMarshaller.isFragment();
  }
 else   if (XML_HEADERS.equals(key)) {
    return xmlMarshaller.getXmlHeader();
  }
 else   if (OBJECT_IDENTITY_CYCLE_DETECTION.equals(key)) {
    return xmlMarshaller.isEqualUsingIdenity();
  }
 else   if (MarshallerProperties.JSON_ATTRIBUTE_PREFIX.equals(key)) {
    return xmlMarshaller.getAttributePrefix();
  }
 else   if (MarshallerProperties.JSON_INCLUDE_ROOT.equals(key)) {
    return xmlMarshaller.isIncludeRoot();
  }
 else   if (MarshallerProperties.JSON_VALUE_WRAPPER.equals(key)) {
    return xmlMarshaller.getValueWrapper();
  }
 else   if (MarshallerProperties.JSON_NAMESPACE_SEPARATOR.equals(key)) {
    return xmlMarshaller.getNamespaceSeparator();
  }
 else   if (SUN_CHARACTER_ESCAPE_HANDLER.equals(key) || SUN_JSE_CHARACTER_ESCAPE_HANDLER.equals(key)) {
    if (xmlMarshaller.getCharacterEscapeHandler() instanceof CharacterEscapeHandlerWrapper) {
      CharacterEscapeHandlerWrapper wrapper=(CharacterEscapeHandlerWrapper)xmlMarshaller.getCharacterEscapeHandler();
      return wrapper.getHandler();
    }
    return xmlMarshaller.getCharacterEscapeHandler();
  }
 else   if (SUN_NAMESPACE_PREFIX_MAPPER.equals(key) || SUN_JSE_NAMESPACE_PREFIX_MAPPER.equals(key)) {
    NamespacePrefixMapperWrapper wrapper=(NamespacePrefixMapperWrapper)xmlMarshaller.getNamespacePrefixMapper();
    if (wrapper == null) {
      return null;
    }
    return wrapper.getPrefixMapper();
  }
  throw new PropertyException(key);
}