@Override
      public Object run() throws Exception {
        try {
          if (table == null) {
            table = connection.getTable(tableName);
          }
          if (m instanceof Increment) {
            table.increment((Increment) m);
          } else if (m instanceof Append) {
            table.append((Append) m);
          } else if (m instanceof Put) {
            table.checkAndMutate(row, cf).qualifier(q).ifEquals(v).thenPut((Put) m);
          } else if (m instanceof Delete) {
            table.checkAndMutate(row, cf).qualifier(q).ifEquals(v).thenDelete((Delete) m);
          } else {
            throw new IllegalArgumentException(
              "unsupported mutation " + m.getClass().getSimpleName());
          }
          totalOpTimeMs.addAndGet(EnvironmentEdgeManager.currentTime() - start);
        } catch (IOException e) {
          recordFailure(m, keyBase, start, e);
        }
        return null;
      }
Maps user with Table instance. Because the table instance has to be created per user inorder to
work in that user's context
hbase-diagnostics/src/main/java/org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.java