protected Injector<Object> createCallbackInjector(Member member, ServiceContract<?> contract,
InboundWire inboundWire) {
if (member instanceof Field) {
Field field = (Field) member;
ObjectFactory<?> factory = new CallbackWireObjectFactory(contract, wireService, inboundWire);
return new FieldInjector<Object>(field, factory);
} else if (member instanceof Method) {
Method method = (Method) member;
ObjectFactory<?> factory = new CallbackWireObjectFactory(contract, wireService, inboundWire);
return new MethodInjector<Object>(method, factory);
} else {
InvalidAccessorException e = new InvalidAccessorException("Member must be a field or method");
e.setIdentifier(member.getName());
throw e;