This actually still a bit of a work in progress and something I wanted to ask your opinion about.

The reason for that bad implementation is that I originally had implemented the bufferPacker counter with a Counter class. When I changed the bufferPackerMap to use DbTableDescr, I could not use the Counter object anymore since it was a map of String keys ==> I moved to CounterCountainer as an interim solution. I know it's pretty ugly.

What do you think about creating a container object with the bufferPacker and counter information and make a single map?
Something like (very simplified here):
```
class BufferPackerWithStats {
  private BufferPacker bufferPacker;
  private int counter;
  ... various setters and getters ...
``` 
and substituting these maps:
```
    private final Map<DbTableDescr, BufferPacker> bufferPackerMap = new HashMap<DbTableDescr, BufferPacker>();
    private final CounterContainer bufferPackerCounterMap = new CounterContainer();
```
with this single one:
```
    private final Map<DbTableDescr, BufferPackerWithStats> bufferPackerMap = new HashMap<DbTableDescr, BufferPackerWithStats>();
```
?