public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, M metaData, ClassLoader classLoader, String methodName, String... parameterNames)
{
if(log.isTraceEnabled()) log.trace("retrieve annotation " + annotationClass + " on " + metaData + " for " + methodName + " " + Arrays.toString(parameterNames));
if(annotationClass == PostConstruct.class)
{
PostConstruct lifeCycleAnnotation = getLifeCycleAnnotation(metaData.getPostConstructs(), PostConstructImpl.class, methodName);
if(lifeCycleAnnotation != null)
return annotationClass.cast(lifeCycleAnnotation);
}
else if(annotationClass == PreDestroy.class)
{