<s> package org . eclipse . jdt . internal . compiler . lookup ; public class UnresolvedAnnotationBinding extends AnnotationBinding { private LookupEnvironment env ; private boolean typeUnresolved = true ; UnresolvedAnnotationBinding ( ReferenceBinding type , ElementValuePair [ ] pairs , LookupEnvironment env ) { super ( type , pairs ) ; this . env = env ; } public ReferenceBinding getAnnotationType ( ) { if ( this . typeUnresolved ) { this . type = ( ReferenceBinding ) BinaryTypeBinding . resolveType ( this . type , this . env , false ) ; this . typeUnresolved = false ; } return this . type ; } public ElementValuePair [ ] getElementValuePairs ( ) { if ( this . env != null ) { if ( this . typeUnresolved ) { getAnnotationType ( ) ; } for ( int i = this . pairs . length ; -- i >= 0 ; ) { ElementValuePair pair = this . pairs [ i ] ; MethodBinding [ ] methods = this . type . getMethods ( pair . getName ( ) ) ; if ( methods != null && methods . length == 1 ) { pair . setMethodBinding ( methods [ 0 ] ) ; } Object value = pair . getValue ( ) ; if ( value instanceof UnresolvedReferenceBinding ) { pair . setValue ( ( ( UnresolvedReferenceBinding ) value ) . resolve ( this . env , false ) ) ; } } this . env = null ; } return this . pairs ; } } </s>