code: public <T, F> T doReadWrite(F facility, Task<T, F> task) {
          return doTransaction(facility, task, null);
      }
docs: Executes a task within a read-write transaction. Any exception rolls back the transaction and gets rethrown as a RuntimeException.