@Override
    public Object get() throws InterruptedException, ExecutionException {

      if (Thread.interrupted()) {
        throw new InterruptedException();
      }
      try {
        return super.get();

      } catch (ExecutionException ex) {
        for (Throwable cause = ex.getCause(); cause != null; cause = cause.getCause()) {
          if (cause instanceof InterruptedException) {
            // We interrupted the runnable but we don't want the thread
            // that called get() to think that the runnable was interrupted.
            CancellationException ex2 = new CancellationException(
                "by interrupt");
            ex2.setStackTrace(cause.getStackTrace());
            throw ex2;
          }
        }

        throw ex;
      }

    }
If the <code>ExecutionException</code> is caused by an <code>InterruptedException</code>,
throw the <code>CancellationException</code> instead.
geode-core/src/main/java/org/apache/geode/admin/internal/AdminDistributedSystemImpl.java