code: public boolean isDone() {
          final boolean isTraceOn = svLogger.isLoggable(Level.FINER);
          if (isTraceOn)
              svLogger.entering(CLASS_NAME, "isDone", toString());
  
          try {
              if (!ivDone) {
                  ivDone = (ivServer != null ? ivServer.isDone() : true);
              }
          } catch (RemoteException e) {
              // Throw an EJBException to the client.
              throw initCause(new EJBException(e));
          }
  
          if (isTraceOn)
              svLogger.exiting(CLASS_NAME, "isDone", Boolean.valueOf(ivDone));
          return ivDone;
      }
docs: This method allows clients to poll the Future object and only get results
  once the asynchronous method has finished (ie. either with good results or an
  exception).