public <T extends Annotation> T resolveTypedAnnotation(Field f, Class<T> annotation)
{
T value = null;
if (metadata != null)
{
FieldSignature signature = new FieldSignature(f);
MetaData fieldMD = metadata.getComponentMetaData(signature);
if (fieldMD != null)
{
value = fieldMD.getAnnotation(annotation);
if (value != null) return value;