if (annotationTypePattern.matches(toMatchAgainst).alwaysTrue()) {
if (annotationTypePattern.matchesRuntimeType(toMatchAgainst).alwaysTrue()) {
	protected FuzzyBoolean matchInternal(Shadow shadow) {		if (!couldMatch(shadow)) return FuzzyBoolean.NO;	    ResolvedTypeX toMatchAgainst = 	        (isThis ? shadow.getThisType() : shadow.getTargetType() ).resolve(shadow.getIWorld());	    annotationTypePattern.resolve(shadow.getIWorld());	    if (annotationTypePattern.matches(toMatchAgainst).alwaysTrue()) {	    	return FuzzyBoolean.YES;	    } else {	    	// a subtype may match at runtime	    	return FuzzyBoolean.MAYBE;	    }	}