- member 'size' is no longer declared as transient, because otherwise a de-serialized QuadTree would always have size=0, even if it had objects in the tree.
- member 'values', returned by method values(), is invalidated when objects are added or removed from the QuadTree. before, it could happen that values() did no longer return a true representation of the objets in the QuadTree.
- When calling get(double x, double y, double maxDistance), objects exactly "maxDistance" away from "(x, y)" are now returned as well (according to the javadoc). Before, only objecs with a distance smaller than maxDistance were returned.
Memory improvement:
- QuadTree.Leaf.values (an ArrayList) is now initialized with a capacity of 1, instead of the default capacity of 10. As we rarely have more than one object at one location, most of the entries were empty before, now the list has by default onle one place (which is used in that case).