if (_shutdownPoolOnClose && args.length == 0 && method.getName().equals("close")) {
_servicePool.close();
return null;
}
PartitionContext partitionContext = _partitionContextSupplier.forCall(method, args);
// Delegate the method through to a service provider in the pool.
return _servicePool.execute(partitionContext, _retryPolicy, new ServiceCallback<S, Object>() {
@Override
public Object call(S service) throws ServiceException {