private RemoteApplicationVM getApplicationById(InternalDistributedMember id) {
    if (isConnected()) {
      Future future = membersMap.get(id);
      if (future == null) {
        return null;
      }
      for (;;) {
        system.getCancelCriterion().checkCancelInProgress(null);
        boolean interrupted = Thread.interrupted();
        try {
          return (RemoteApplicationVM) future.get();
        } catch (InterruptedException ex) {
          interrupted = true;
        } catch (CancellationException ex) {
          return null;
        } catch (ExecutionException ex) {
          handle(ex);
          return null;
        } finally {
          if (interrupted) {
            Thread.currentThread().interrupt();
          }
        }
      }
    }
    return null;
  }
Returns the application VM with the given {@code id}.
geode-core/src/main/java/org/apache/geode/internal/admin/remote/RemoteGfManagerAgent.java