Comments on your code

Would this be the case if I want to use this utility for both Item classes and Overlap classes?  Since the second arg takes either array of Item of Overlap objects, it could be used for both. Doesn't seem semantic to make it part of Item prototype and then use delegator to access it for other types of objects.