@Override
public Object createServiceInstance(Method contextMethod, Method domainMethod) {
Class<? extends ServiceLocator> locatorType = getTop().resolveServiceLocator(
contextMethod, domainMethod);
ServiceLocator locator = getTop().createServiceLocator(locatorType);
// Enclosing class may be a parent class, so invoke on service class
Class<?> declaringClass = contextMethod.getDeclaringClass();
Class<?> serviceClass = getTop().resolveServiceClass(
declaringClass.asSubclass(RequestContext.class));
return locator.getInstance(serviceClass);
}