@Override
          public Entry answer(InvocationOnMock invocation) throws Throwable {
            if (index >= numFakeEdits) {
              return null;
            }

            // Generate r0 through r4 in round robin fashion
            int regionIdx = index % regions.size();
            byte region[] = new byte[] { (byte) 'r', (byte) (0x30 + regionIdx) };

            Entry ret = createTestEntry(TABLE_NAME, region, Bytes.toBytes(index / regions.size()),
              FAMILY, QUALIFIER, VALUE, index);
            index++;
            return ret;
          }
Sets up a log splitter with a mock reader and writer. The mock reader generates a specified
number of edits spread across 5 regions. The mock writer optionally sleeps for each edit it is
fed. After the split is complete, verifies that the statistics show the correct number of edits
output into each region.
@param numFakeEdits   number of fake edits to push through pipeline
@param bufferSize     size of in-memory buffer
@param writerSlowness writer threads will sleep this many ms per edit
hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALSplit.java