Created closure join predicate, interface and tests