Program: 190742
Project: 190742
Buggy source:
/** 
 * The constructor for the sole instanceof   {@link JaxBeanInfo} forhandling user-created  {@link JAXBElement}. Such   {@link JaxBeanInfo} is used only for marshalling.This is a hack.
 */
protected ElementBeanInfoImpl(final JAXBContextImpl grammar){
  super(grammar,null,JAXBElement.class,null,true,false,true);
  tagName=null;
  expectedType=null;
  scope=null;
  this.property=new Property<JAXBElement>(){
    public void reset(    JAXBElement o){
      throw new UnsupportedOperationException();
    }
    public void serializeBody(    JAXBElement e,    XMLSerializer target,    Object outerPeer) throws SAXException, IOException, XMLStreamException {
      Class scope=e.getScope();
      if (e.isGlobalScope())       scope=null;
      QName n=e.getName();
      ElementBeanInfoImpl bi=grammar.getElement(scope,n);
      if (bi == null) {
        JaxBeanInfo tbi;
        try {
          tbi=grammar.getBeanInfo(e.getDeclaredType(),true);
        }
 catch (        JAXBException x) {
          target.reportError(null,x);
          return;
        }
        Object value=e.getValue();
        target.startElement(n.getNamespaceURI(),n.getLocalPart(),n.getPrefix(),null);
        if (value == null) {
          target.writeXsiNilTrue();
        }
 else {
          target.childAsXsiType(value,"String_Node_Str",tbi);
        }
        target.endElement();
      }
 else {
        try {
          bi.property.serializeBody(e,target,e);
        }
 catch (        AccessorException x) {
          target.reportError(null,x);
        }
      }
    }
    public void serializeURIs(    JAXBElement o,    XMLSerializer target){
    }
    public boolean hasSerializeURIAction(){
      return false;
    }
    public String getIdValue(    JAXBElement o){
      return null;
    }
    public PropertyKind getKind(){
      return PropertyKind.ELEMENT;
    }
    public void buildChildElementUnmarshallers(    UnmarshallerChain chain,    QNameMap<ChildLoader> handlers){
    }
    public Accessor getElementPropertyAccessor(    String nsUri,    String localName){
      throw new UnsupportedOperationException();
    }
    public void wrapUp(){
    }
  }
;
}

Fixed version (ground truth):
/** 
 * The constructor for the sole instanceof   {@link JaxBeanInfo} forhandling user-created  {@link JAXBElement}. Such   {@link JaxBeanInfo} is used only for marshalling.This is a hack.
 */
protected ElementBeanInfoImpl(final JAXBContextImpl grammar){
  super(grammar,null,JAXBElement.class,true,false,true);
  tagName=null;
  expectedType=null;
  scope=null;
  this.property=new Property<JAXBElement>(){
    public void reset(    JAXBElement o){
      throw new UnsupportedOperationException();
    }
    public void serializeBody(    JAXBElement e,    XMLSerializer target,    Object outerPeer) throws SAXException, IOException, XMLStreamException {
      Class scope=e.getScope();
      if (e.isGlobalScope())       scope=null;
      QName n=e.getName();
      ElementBeanInfoImpl bi=grammar.getElement(scope,n);
      if (bi == null) {
        JaxBeanInfo tbi;
        try {
          tbi=grammar.getBeanInfo(e.getDeclaredType(),true);
        }
 catch (        JAXBException x) {
          target.reportError(null,x);
          return;
        }
        Object value=e.getValue();
        target.startElement(n.getNamespaceURI(),n.getLocalPart(),n.getPrefix(),null);
        if (value == null) {
          target.writeXsiNilTrue();
        }
 else {
          target.childAsXsiType(value,"String_Node_Str",tbi);
        }
        target.endElement();
      }
 else {
        try {
          bi.property.serializeBody(e,target,e);
        }
 catch (        AccessorException x) {
          target.reportError(null,x);
        }
      }
    }
    public void serializeURIs(    JAXBElement o,    XMLSerializer target){
    }
    public boolean hasSerializeURIAction(){
      return false;
    }
    public String getIdValue(    JAXBElement o){
      return null;
    }
    public PropertyKind getKind(){
      return PropertyKind.ELEMENT;
    }
    public void buildChildElementUnmarshallers(    UnmarshallerChain chain,    QNameMap<ChildLoader> handlers){
    }
    public Accessor getElementPropertyAccessor(    String nsUri,    String localName){
      throw new UnsupportedOperationException();
    }
    public void wrapUp(){
    }
  }
;
}