public boolean isDone() {
    assert op != null : "No operation";
    return latch.getCount() == 0 || op.isCancelled()
        || op.getState() == OperationState.COMPLETE;
  }
Whether or not the Operation is done and result can be retrieved with
get().

The most common way to wait for this OperationFuture is to use the get()
method which will block.  This method allows one to check if it's complete
without blocking.

@return true if the Operation is done
src/main/java/net/spy/memcached/internal/OperationFuture.java