Buggy code:
public abstract class Member extends SourceRefElement implements IMember { protected Member ( JavaElement parent ) { } protected static boolean areSimilarMethods ( String name1 , String [ ] params1 , String name2 , String [ ] params2 , String [ ] simpleNames1 ) { } protected static Object convertConstant ( Constant constant ) { } public static IMethod [ ] findMethods ( IMethod method , IMethod [ ] methods ) { } public String [ ] getCategories ( ) throws JavaModelException { } public IClassFile getClassFile ( ) { } public IType getDeclaringType ( ) { } public int getFlags ( ) throws JavaModelException { } public IJavaElement getHandleFromMemento ( String token , MementoTokenizer memento , WorkingCopyOwner workingCopyOwner ) { switch ( token . charAt ( 0 ) ) { case JavaElement . JEM_COUNT : return getHandleUpdatingCountFromMemento ( memento , workingCopyOwner ) ; case JavaElement . JEM_TYPE : String typeName ; if ( memento . hasMoreTokens ( ) ) { typeName = memento . nextToken ( ) ; char firstChar = typeName . charAt ( 0 ) ; if ( ( ( ( ( firstChar == ( JavaElement . JEM_FIELD ) ) || ( firstChar == ( JavaElement . JEM_INITIALIZER ) ) ) || ( firstChar == ( JavaElement . JEM_METHOD ) ) ) || ( firstChar == ( JavaElement . JEM_TYPE ) ) ) || ( firstChar == ( JavaElement . JEM_COUNT ) ) ) { token = typeName ; typeName = "" ; } else { token = null ; } } else { typeName = "" ; token = null ; } JavaElement type = ( ( JavaElement ) ( getType ( typeName , 1 ) ) ) ; if ( token == null ) { return type . getHandleFromMemento ( memento , workingCopyOwner ) ; } else { return type . getHandleFromMemento ( token , memento , workingCopyOwner ) ; } case JavaElement . JEM_LOCALVARIABLE : if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; String varName = memento . nextToken ( ) ; if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; memento . nextToken ( ) ; if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; int declarationStart = Integer . parseInt ( memento . nextToken ( ) ) ; if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; memento . nextToken ( ) ; if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; int declarationEnd = Integer . parseInt ( memento . nextToken ( ) ) ; if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; memento . nextToken ( ) ; if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; int nameStart = Integer . parseInt ( memento . nextToken ( ) ) ; if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; memento . nextToken ( ) ; if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; int nameEnd = Integer . parseInt ( memento . nextToken ( ) ) ; if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; memento . nextToken ( ) ; if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; String typeSignature = memento . nextToken ( ) ; memento . nextToken ( ) ; if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; int flags = Integer . parseInt ( memento . nextToken ( ) ) ; memento . nextToken ( ) ; if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; <START_BUG> boolean isParameter = Boolean . getBoolean ( memento . nextToken ( ) ) ; <END_BUG> return new LocalVariable ( this , varName , declarationStart , declarationEnd , nameStart , nameEnd , typeSignature , null , flags , isParameter ) ; case JavaElement . JEM_TYPE_PARAMETER : if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; String typeParameterName = memento . nextToken ( ) ; JavaElement typeParameter = new TypeParameter ( this , typeParameterName ) ; return typeParameter . getHandleFromMemento ( memento , workingCopyOwner ) ; case JavaElement . JEM_ANNOTATION : if ( ! ( memento . hasMoreTokens ( ) ) ) return this ; String annotationName = memento . nextToken ( ) ; JavaElement annotation = new Annotation ( this , annotationName ) ; return annotation . getHandleFromMemento ( memento , workingCopyOwner ) ; } return null ; } protected char getHandleMementoDelimiter ( ) { } public Member getOuterMostLocalContext ( ) { } public ISourceRange getJavadocRange ( ) throws JavaModelException { } public ISourceRange getNameRange ( ) throws JavaModelException { } public IType getType ( String typeName , int count ) { } public ITypeRoot getTypeRoot ( ) { } public boolean isBinary ( ) { } protected boolean isMainMethod ( IMethod method ) throws JavaModelException { } public boolean isReadOnly ( ) { } public String readableName ( ) { } }

Fix:
boolean isParameter = Boolean . valueOf ( memento . nextToken ( ) ) . booleanValue ( ) ;