&& ERXUtilities.booleanValue(relationship.userInfo().objectForKey(SortedJoinRelationshipUserInfoKey))) {
&& ERXValueUtilities.booleanValue(relationship.userInfo().objectForKey(SortedJoinRelationshipUserInfoKey))) {
    public static NSArray joinRelationshipsForJoinEntity(EOEntity entity) {        NSArray joinRelationships = null;        if (entity.relationships() == null || entity.relationships().count() < 2) {            throw new RuntimeException("Join entity: " + entity + " does not have any relationships!");        } else if (entity.relationships().count() == 2) {            joinRelationships = entity.relationships();        } else {            NSMutableArray relationshipCache = new NSMutableArray();            for (Enumeration e = entity.relationships().objectEnumerator(); e.hasMoreElements();) {                EORelationship relationship = (EORelationship)e.nextElement();                if (relationship.userInfo() != null                    && ERXUtilities.booleanValue(relationship.userInfo().objectForKey(SortedJoinRelationshipUserInfoKey))) {                    relationshipCache.addObject(relationship);                }            }            if (relationshipCache.count() != 2)                throw new RuntimeException("Did not find two relationships with user info entries: " +                                           SortedJoinRelationshipUserInfoKey + " found: " + relationshipCache.valueForKey("name")                                           + " for entity: " + entity.name());            joinRelationships = relationshipCache;        }        return joinRelationships;    }