@Override
    public void insert(final Table table, Put put, final long keyBase) {
      final long start = EnvironmentEdgeManager.currentTime();
      try {
        put = (Put) dataGenerator.beforeMutate(keyBase, put);
        writerAction.setPut(put);
        writerAction.setKeyBase(keyBase);
        writerAction.setStartTime(start);
        userOwner.runAs(writerAction);
      } catch (IOException e) {
        recordFailure(table, put, keyBase, start, e);
      } catch (InterruptedException e) {
        failedKeySet.add(keyBase);
      }
    }
MultiThreadedWriter that helps in testing ACL
hbase-diagnostics/src/main/java/org/apache/hadoop/hbase/util/MultiThreadedWriterWithACL.java