code: @Override
  	public JPAJoin getOrCreateJoin(final WQPath path)
  	{
  		if (path == null)
  			return new JPAJoin(criteriaBuilder, entity, root, false);
  
  		if (!joins.containsKey(path.getPath()))
  		{
  			final JPAJoin parent = getOrCreateJoin(path.getTail());
  
  			final JPAJoin join = parent.join(path.getHead().getPath());
  
  			joins.put(path.getPath(), join);
  
  			return join;
  		}
  		else
  		{
  			return joins.get(path.getPath());
  		}
  	}
docs: Ensure a join has been set up for a path
  
  @param path
  
  @return