@Override
public <T, S> ServiceServer<T, S> newServiceServer(GraphName serviceName, String serviceType,
ServiceResponseBuilder<T, S> responseBuilder) {
GraphName resolvedServiceName = resolveName(serviceName);
ServiceIdentifier identifier = new ServiceIdentifier(resolvedServiceName, null);
ServiceDescription serviceDescription =
nodeConfiguration.getServiceDescriptionFactory().newFromType(serviceType);
ServiceDeclaration definition = new ServiceDeclaration(identifier, serviceDescription);
MessageDeserializer<T> requestDeserializer = newServiceRequestDeserializer(serviceType);
MessageSerializer<S> responseSerializer = newServiceResponseSerializer(serviceType);
return serviceFactory.newServer(definition, responseBuilder, requestDeserializer,
responseSerializer, nodeConfiguration.getServiceResponseMessageFactory());
}