This is my first mail in this mail-list so I'm sorry if I'm making it wrong.
Focusing in the possible bug, in the SparseGrid2D class, in the function reduceObjectsAtLocations() (line 620), there is a call to the method getObjectsAtLocation() in the line 636, which may return a null value, the code is:
Bag temp = getObjectsAtLocation(xs[i],ys[i]);      //line 636 this can return 'null'
int size = temp.numObjs;                                     //line 637
And as you can see, if the value of "temp" is null, the line 637 will throw a null pointer exception as it's happening to me.
I hope this report can be useful ;-)