@Test
  public void testClone() {
    ExecutorService pool = new MockExecutorService();
    final String tableName = name.getMethodName();
    BufferedMutatorParams bmp = new BufferedMutatorParams(TableName.valueOf(tableName));

    BufferedMutator.ExceptionListener listener = new MockExceptionListener();
    bmp.writeBufferSize(17).setWriteBufferPeriodicFlushTimeoutMs(123)
      .setWriteBufferPeriodicFlushTimerTickMs(456).maxKeyValueSize(13).setMaxMutations(3737)
      .setRequestAttribute("foo", "bar".getBytes(StandardCharsets.UTF_8)).pool(pool)
      .listener(listener);
    bmp.implementationClassName("someClassName");
    BufferedMutatorParams clone = bmp.clone();

    // Confirm some literals
    assertEquals(tableName, clone.getTableName().toString());
    assertEquals(17, clone.getWriteBufferSize());
    assertEquals(123, clone.getWriteBufferPeriodicFlushTimeoutMs());
    assertEquals(456, clone.getWriteBufferPeriodicFlushTimerTickMs());
    assertEquals(13, clone.getMaxKeyValueSize());
    assertEquals(3737, clone.getMaxMutations());
    assertEquals("someClassName", clone.getImplementationClassName());

    cloneTest(bmp, clone);

    BufferedMutatorParams cloneWars = clone.clone();
    cloneTest(clone, cloneWars);
    cloneTest(bmp, cloneWars);

    // Mocking with clone leave original unaffected.
    clone.implementationClassName(null);
    assertEquals("someClassName", bmp.getImplementationClassName());
  }
Just to create an instance, this doesn't actually function.
hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestBufferedMutatorParams.java