final DiscoveryManager newClient = Proxies.newClient(EXPORT_NAME, address, getClass().getClassLoader(), DiscoveryManager.class);
// Execute collection asynchronously (TODO: cache pool usage could be improved)
final ExecutorService cachePool = Executors.newCachedThreadPool(this.threadFactory);
final ExecutorCompletionService<String> ecs = new ExecutorCompletionService(cachePool);
final Future<String> future = ecs.submit(new Callable<String>() {
public String call() throws Exception {
return AccessController.doPrivileged(new PrivilegedAction<String>() {
public String run() {
return newClient.ping(667) == 667 ? "OK" : null;