code: public Deferred<Object> flush() throws HBaseException {
      final class HClientFlush implements Callback<Object, ArrayList<Object>> {
  	public Object call(final ArrayList<Object> args) {
          return client.flush();
        }
  	public String toString() {
          return "flush HBase client";
        }
      }
  
      return config.enable_compactions() && compactionq != null
        ? compactionq.flush().addCallback(new HClientFlush())
        : client.flush();
    }
docs: Forces a flush of any un-committed in memory data including left over
  compactions.
  <p>
  For instance, any data point not persisted will be sent to HBase.
  @return A {@link Deferred} that will be called once all the un-committed
  data has been successfully and durably stored.  The value of the deferred
  object return is meaningless and unspecified, and can be {@code null}.
  @throws HBaseException (deferred) if there was a problem sending
  un-committed data to HBase.  Please refer to the {@link HBaseException}
  hierarchy to handle the possible failures.  Some of them are easily
  recoverable by retrying, some are not.