Buggy code:
protected void consumeMethodHeaderRightParen ( ) { } protected void consumeMethodHeaderExtendedDims ( ) { } protected void consumeAnnotationName ( ) { } protected void consumeLabel ( ) { } protected void consumeMarkerAnnotation ( ) { } protected void consumeMemberValuePair ( ) { } protected void consumeMemberValueAsName ( ) { } protected void consumeMethodBody ( ) { } protected void consumeMethodHeader ( ) { } protected void consumeModifiers ( ) { } protected void consumeReferenceType ( ) { } protected void consumeRestoreDiet ( ) { } protected void consumeSingleMemberAnnotation ( ) { } protected void consumeStatementLabel ( ) { } protected void consumeStatementSwitch ( ) { } protected void consumeNestedMethod ( ) { } protected void consumeNormalAnnotation ( ) { } protected void consumePrimaryNoNewArrayName ( ) { } protected void consumePrimaryNoNewArrayNameSuper ( ) { } protected void consumePrimaryNoNewArrayNameThis ( ) { } protected void consumePushPosition ( ) { } protected void consumeToken ( int token ) { } protected void consumeOnlyTypeArguments ( ) { } protected void consumeOnlyTypeArgumentsForCastExpression ( ) { } protected void consumeRightParen ( ) { } protected void consumeReferenceType1 ( ) { } protected void consumeReferenceType2 ( ) { } protected void consumeReferenceType3 ( ) { } protected void consumeTypeArgumentReferenceType1 ( ) { } protected void consumeTypeArgumentReferenceType2 ( ) { } protected void consumeTypeArguments ( ) { } protected void consumeTypeHeaderNameWithTypeParameters ( ) { } protected void consumeTypeParameters ( ) { } protected void consumeTypeParameterHeader ( ) { } protected void consumeTypeParameter1 ( ) { } protected void consumeTypeParameterWithExtends ( ) { } protected void consumeTypeParameterWithExtendsAndBounds ( ) { } protected void consumeTypeParameter1WithExtends ( ) { } protected void consumeTypeParameter1WithExtendsAndBounds ( ) { } protected void consumeWildcard ( ) { } protected void consumeWildcard1 ( ) { } protected void consumeWildcard2 ( ) { } protected void consumeWildcard3 ( ) { } protected void consumeWildcardBoundsExtends ( ) { } protected void consumeWildcardBounds1Extends ( ) { } protected void consumeWildcardBounds2Extends ( ) { } protected void consumeWildcardBounds3Extends ( ) { } protected void consumeUnaryExpression ( int op ) { } protected void consumeUnaryExpression ( int op , boolean post ) { } public ImportReference createAssistImportReference ( char [ ] [ ] tokens , long [ ] positions , int mod ) { } public ImportReference createAssistPackageReference ( char [ ] [ ] tokens , long [ ] positions ) { } public NameReference createQualifiedAssistNameReference ( char [ ] [ ] previousIdentifiers , char [ ] assistName , long [ ] positions ) { } public TypeReference createQualifiedAssistTypeReference ( char [ ] [ ] previousIdentifiers , char [ ] assistName , long [ ] positions ) { } public TypeReference createParameterizedQualifiedAssistTypeReference ( char [ ] [ ] previousIdentifiers , TypeReference [ ] [ ] typeArguments , char [ ] assistName , TypeReference [ ] assistTypeArguments , long [ ] positions ) { } public NameReference createSingleAssistNameReference ( char [ ] assistName , long position ) { } public TypeReference createSingleAssistTypeReference ( char [ ] assistName , long position ) { } public TypeReference createParameterizedSingleAssistTypeReference ( TypeReference [ ] typeArguments , char [ ] assistName , long position ) { } protected StringLiteral createStringLiteral ( char [ ] token , int start , int end , int lineNumber ) { } protected TypeReference copyDims ( TypeReference typeRef , int dim ) { } public CompilationUnitDeclaration dietParse ( ICompilationUnit sourceUnit , CompilationResult compilationResult , int cursorLoc ) { } public void flushAssistState ( ) { } protected TypeReference getTypeReferenceForGenericType ( int dim , int identifierLength , int numberOfIdentifiers ) { } protected NameReference getUnspecifiedReferenceOptimized ( ) { } public void initialize ( ) { } public void initialize ( boolean initializeNLS ) { } private void initializeForBlockStatements ( ) { } public void initializeScanner ( ) { } private boolean isAfterArrayType ( ) { } private boolean isEmptyNameCompletion ( ) { } protected boolean isInsideAnnotation ( ) { } protected boolean isIndirectlyInsideBlock ( ) { } protected boolean isInsideBlock ( ) { } protected boolean isInsideBreakable ( ) { } protected boolean isInsideLoop ( ) { } protected boolean isInsideReturn ( ) { } public CompilationUnitDeclaration parse ( ICompilationUnit sourceUnit , CompilationResult compilationResult , int cursorLoc ) { } public void parseBlockStatements ( ConstructorDeclaration cd , CompilationUnitDeclaration unit ) { } public MethodDeclaration parseStatementsAfterCompletion ( int start , int end , CompilationUnitDeclaration unit ) { } protected void prepareForBlockStatements ( ) { } protected void pushOnLabelStack ( char [ ] label ) { } private void pushCompletionOnMemberAccessOnExpressionStack ( boolean isSuperAccess ) { char [ ] source = identifierStack [ identifierPtr ] ; long pos = identifierPositionStack [ ( ( identifierPtr ) -- ) ] ; <START_BUG> CompletionOnMemberAccess fr = new CompletionOnMemberAccess ( source , pos ) ; <END_BUG> this . assistNode = fr ; this . lastCheckPoint = ( fr . sourceEnd ) + 1 ; ( identifierLengthPtr ) -- ; if ( isSuperAccess ) { fr . sourceStart = intStack [ ( ( intPtr ) -- ) ] ; fr . receiver = new SuperReference ( fr . sourceStart , endPosition ) ; pushOnExpressionStack ( fr ) ; } else { if ( ( fr . receiver = expressionStack [ expressionPtr ] ) . isThis ( ) ) { fr . sourceStart = fr . receiver . sourceStart ; } expressionStack [ expressionPtr ] = fr ; } } protected boolean moveRecoveryCheckpoint ( ) { } public void recordCompletionOnReference ( ) { } public void recoveryExitFromVariable ( ) { } public void recoveryTokenCheck ( ) { } public void reset ( ) { } public void resetAfterCompletion ( ) { } protected boolean resumeAfterRecovery ( ) { } public void setAssistIdentifier ( char [ ] assistIdent ) { } public String toString ( ) { } protected void updateRecoveryState ( ) { } protected LocalDeclaration createLocalDeclaration ( char [ ] assistName , int sourceStart , int sourceEnd ) { } protected FieldDeclaration createFieldDeclaration ( char [ ] assistName , int sourceStart , int sourceEnd ) { } }

Fix:
CompletionOnMemberAccess fr = new CompletionOnMemberAccess ( source , pos , isInsideAnnotation ( ) ) ;