public <T extends Annotation> T resolveTypedAnnotation(long hash, Method m, Class<T> annotation)
{
if (metadata != null)
{
MethodSignature signature = new MethodSignature(m.getName(), m.getParameterTypes());
MetaData methodMD = metadata.getComponentMetaData(signature);
if (methodMD != null)
{
T val = methodMD.getAnnotation(annotation);
if (val != null) return val;
}
}
if (annotations.isDisabled(m,annotation))