code: public List<OrderedPair<T>> getOrderedPairs() {
  		List<OrderedPair<T>> pairs = new ArrayList<OrderedPair<T>>(list1.size()*list2.size());
  
  		for (T element1: list1) {
  			for (T element2: list2) {
  				pairs.add(new OrderedPair<T>(element1, element2));
  			}
  		}
  
  		return pairs;
  	}
docs: Generates the list of ordered pair between two sets.
  
  @return the list of ordered pairs