Cache hashcode on XYLocation for slight performance improvement
Change order of intersect operation for significant performance improvement
Cache and reuse instances of XYLocation for slight performance improvement
Remove profiling code