implemented JoinPredicate