code: @Override
    public BufferedMutator getBufferedMutator(BufferedMutatorParams params) throws IOException {
      TableName tableName = params.getTableName();
      if (tableName == null) {
        throw new IllegalArgumentException("TableName cannot be null.");
      }
  
      final long id = SEQUENCE_GENERATOR.incrementAndGet();
  
      HBaseRequestAdapter adapter = createAdapter(tableName);
      ExceptionListener listener = params.getListener();
      BigtableBufferedMutator bigtableBufferedMutator =
          new BigtableBufferedMutator(adapter, conf, session, listener) {
            @Override
            public void close() throws IOException {
              try {
                super.close();
              } finally {
                ACTIVE_BUFFERED_MUTATORS.remove(id);
              }
            }
          };
      ACTIVE_BUFFERED_MUTATORS.put(id, bigtableBufferedMutator);
      return bigtableBufferedMutator;
    }
docs: {@inheritDoc}