Cleaned up the code and started working on a handler for callbacks. Problem: ArrayList.addAll(c) uses Collection.toArray on parameter c. If we know nothing about c because we do not want to make any assumptions about possible clients, we can only conservatively assume that c can be any class that implements the Collection interface which gives us a humungous bloat. Testing on a big machine since I have no better idea at the moment.