Buggy code:
class EJBClientDescriptor10Parser implements XMLElementReader < EJBClientDescriptorMetaData > { public static final String NAMESPACE_1_0 = "urn:jboss:ejb-client:1.0" ; public static final EJBClientDescriptor10Parser INSTANCE = new EJBClientDescriptor10Parser ( ) ; private EJBClientDescriptor10Parser ( ) { } enum Element { CLIENT_CONTEXT , EJB_RECEIVERS , JBOSS_EJB_CLIENT , REMOTING_EJB_RECEIVER , UNKNOWN ; private static final Map < QName , EJBClientDescriptor10Parser . Element > elements ; static EJBClientDescriptor10Parser . Element of ( QName qName ) { } } enum Attribute { EXCLUDE_LOCAL_RECEIVER , LOCAL_RECEIVER_PASS_BY_VALUE , OUTBOUND_CONNECTION_REF , UNKNOWN ; private static final Map < QName , EJBClientDescriptor10Parser . Attribute > attributes ; static EJBClientDescriptor10Parser . Attribute of ( QName qName ) { } } @ Override public void readElement ( final XMLExtendedStreamReader reader , final EJBClientDescriptorMetaData ejbClientDescriptorMetaData ) throws XMLStreamException { } private void parseClientContext ( final XMLExtendedStreamReader reader , final EJBClientDescriptorMetaData ejbClientDescriptorMetaData ) throws XMLStreamException { } private void parseEJBReceivers ( final XMLExtendedStreamReader reader , final EJBClientDescriptorMetaData ejbClientDescriptorMetaData ) throws XMLStreamException { <START_BUG> boolean localReceiverPassByValue = true ; <END_BUG> final int count = reader . getAttributeCount ( ) ; for ( int i = 0 ; i < count ; i ++ ) { final EJBClientDescriptor10Parser . Attribute attribute = EJBClientDescriptor10Parser . Attribute . of ( reader . getAttributeName ( i ) ) ; final String val = reader . getAttributeValue ( i ) ; switch ( attribute ) { case EXCLUDE_LOCAL_RECEIVER : final boolean excludeLocalReceiver = Boolean . parseBoolean ( val . trim ( ) ) ; ejbClientDescriptorMetaData . setExcludeLocalReceiver ( excludeLocalReceiver ) ; break ; case LOCAL_RECEIVER_PASS_BY_VALUE : localReceiverPassByValue = Boolean . parseBoolean ( val . trim ( ) ) ; break ; default : EJBClientDescriptor10Parser . unexpectedContent ( reader ) ; } } ejbClientDescriptorMetaData . setLocalReceiverPassByValue ( localReceiverPassByValue ) ; while ( reader . hasNext ( ) ) { switch ( reader . nextTag ( ) ) { case XMLStreamConstants . END_ELEMENT : { return ; } case XMLStreamConstants . START_ELEMENT : { final EJBClientDescriptor10Parser . Element element = EJBClientDescriptor10Parser . Element . of ( reader . getName ( ) ) ; switch ( element ) { case REMOTING_EJB_RECEIVER : this . parseRemotingReceiver ( reader , ejbClientDescriptorMetaData ) ; break ; default : this . unexpectedElement ( reader ) ; } break ; } default : { EJBClientDescriptor10Parser . unexpectedContent ( reader ) ; } } } EJBClientDescriptor10Parser . unexpectedEndOfDocument ( reader . getLocation ( ) ) ; } private void parseRemotingReceiver ( final XMLExtendedStreamReader reader , final EJBClientDescriptorMetaData ejbClientDescriptorMetaData ) throws XMLStreamException { } private static void unexpectedEndOfDocument ( final Location location ) throws XMLStreamException { } private static void missingAttributes ( final Location location , final Set < EJBClientDescriptor10Parser . Attribute > required ) throws XMLStreamException { } public static void unexpectedElement ( final XMLExtendedStreamReader reader ) throws XMLStreamException { } private static void unexpectedContent ( final XMLStreamReader reader ) throws XMLStreamException { } }

Fix:
Boolean localReceiverPassByValue = null ;