Buggy code:
} else if ( HeaderValueState . ID . equals ( id ) ) { inValue = true ; } } @ Override public void leavingState ( ParsingContext ctx ) throws CommandFormatException { final String id = ctx . getState ( ) . getId ( ) ; if ( ( ( delegateStateId ) != null ) && ( ! ( id . equals ( delegateStateId ) ) ) ) { delegate . leavingState ( ctx ) ; return ; } if ( id . equals ( ID ) ) { if ( ! ( ctx . isEndOfContent ( ) ) ) { handler . propertyListEnd ( ctx . getLocation ( ) ) ; } } else if ( ArgumentState . ID . equals ( id ) ) { if ( ( this . name ) != null ) { final String value = buffer . toString ( ) . trim ( ) ; if ( ( value . length ( ) ) > 0 ) { handler . property ( this . name , value , bufferStartIndex ) ; } else { handler . propertyName ( bufferStartIndex , this . name ) ; if ( ( nameValueSeparator ) != ( - 1 ) ) { handler . propertyNameValueSeparator ( nameValueSeparator ) ; } } } else { handler . propertyName ( bufferStartIndex , buffer . toString ( ) . trim ( ) ) ; if ( ( nameValueSeparator ) != ( - 1 ) ) { handler . propertyNameValueSeparator ( nameValueSeparator ) ; } } if ( ! ( ctx . isEndOfContent ( ) ) ) { handler . propertySeparator ( ctx . getLocation ( ) ) ; } buffer . setLength ( 0 ) ; name = null ; nameValueSeparator = - 1 ; } else if ( ArgumentValueState . ID . equals ( id ) ) { if ( ( name ) == null ) { handler . property ( null , buffer . toString ( ) . trim ( ) , bufferStartIndex ) ; buffer . setLength ( 0 ) ; if ( ! ( ctx . isEndOfContent ( ) ) ) { handler . propertySeparator ( ctx . getLocation ( ) ) ; } } inValue = false ; } else if ( CommandNameState . ID . equals ( id ) ) { final String opName = buffer . toString ( ) . trim ( ) ; if ( ! ( opName . isEmpty ( ) ) ) { handler . operationName ( bufferStartIndex , opName ) ; } buffer . setLength ( 0 ) ; } else if ( NodeState . ID . equals ( id ) ) { char ch = ctx . getCharacter ( ) ; if ( ( buffer . length ( ) ) == 0 ) { if ( ch == '//' ) { handler . rootNode ( bufferStartIndex ) ; handler . nodeSeparator ( ctx . getLocation ( ) ) ; } } else { final String value = buffer . toString ( ) . trim ( ) ; if ( ch == '=' ) { handler . nodeType ( bufferStartIndex , value ) ; handler . nodeTypeNameSeparator ( ctx . getLocation ( ) ) ; } else if ( ch == ':' ) { handler . nodeName ( bufferStartIndex , value ) ; } else { if ( "." . equals ( value ) ) { } else if ( ".." . equals ( value ) ) { handler . parentNode ( ( ( ctx . getLocation ( ) ) - 2 ) ) ; } else if ( ".type" . equals ( value ) ) { handler . nodeType ( ( ( ctx . getLocation ( ) ) - 5 ) ) ; } else { if ( ch == '//' ) { if ( "" . equals ( value ) ) { handler . rootNode ( ctx . getLocation ( ) ) ; } else { handler . nodeName ( bufferStartIndex , value ) ; } } else { handler . nodeTypeOrName ( bufferStartIndex , value ) ; } } if ( ch == '//' ) { handler . nodeSeparator ( ctx . getLocation ( ) ) ; } } } buffer . setLength ( 0 ) ; inValue = false ; } else if ( HeaderListState . ID . equals ( id ) ) { <START_BUG> if ( ! ( ctx . isEndOfContent ( ) ) ) { <END_BUG> handler . headerListEnd ( ctx . getLocation ( ) ) ; } } else if ( HeaderNameState . ID . equals ( id ) ) { final String headerName = buffer . toString ( ) . trim ( ) ; if ( ! ( headerName . isEmpty ( ) ) ) { this . name = headerName ; delegate = handler . headerName ( bufferStartIndex , headerName ) ; if ( ( delegate ) != null ) { delegateStateId = HeaderState . ID ; } } buffer . setLength ( 0 ) ; } else if ( HeaderValueState . ID . equals ( id ) ) { handler . header ( name , buffer . toString ( ) . trim ( ) , bufferStartIndex ) ; buffer . setLength ( 0 ) ; inValue = false ; } else if ( HeaderState . ID . equals ( id ) ) { this . name = null ; delegate = null ; delegateStateId = null ; } else if ( OutputTargetState . ID . equals ( id ) ) { handler . outputTarget ( bufferStartIndex , buffer . toString ( ) . trim ( ) ) ; buffer . setLength ( 0 ) ; } } @ Override public void character ( ParsingContext ctx ) throws CommandFormatException { if ( ( delegate ) != null ) { delegate . character ( ctx ) ; return ; } buffer . append ( ctx . getCharacter ( ) ) ; } } ; } }

Fix:
if ( ( ctx . getCharacter ( ) ) == '}' ) {