} else if (ContextResolver.class.isAssignableFrom(clazz)) {
o = createContextResolver(genericType, contextMessage);
} else if (MessageContext.class.isAssignableFrom(clazz)) {
o = new MessageContextImpl(m);
} else if (SearchContext.class.isAssignableFrom(clazz)) {
o = new SearchContextImpl(m);
} else if (Application.class.isAssignableFrom(clazz)) {
ProviderInfo<?> providerInfo =
(ProviderInfo)contextMessage.getExchange().getEndpoint().get(Application.class.getName());
o = providerInfo == null ? providerInfo : providerInfo.getProvider();
}