}
static synchronized ExpressionArgument parseAnnotation(Annotation annotation,
Class<?> paramType, MuleContext muleContext)
{
AnnotationsParserFactory factory;
try
{
factory = muleContext.getRegistry().lookupObject(AnnotationsParserFactory.class);
}
catch (RegistrationException e)
{
//TODO better exception message
throw new IllegalArgumentException(AnnotationsMessages.noParserFoundForAnnotation(annotation).getMessage());
}
ExpressionAnnotationParser parser = factory.getExpressionParser(annotation);
if (parser == null)
{
if (logger.isDebugEnabled())
{
logger.debug(AnnotationsMessages.noParserFoundForAnnotation(annotation).getMessage());