code: public static <T> Result<T> compare(Collection<T> lhs, Collection<T> rhs){
  		Set<T> onlyInLhs = new HashSet<T>(lhs);
  		onlyInLhs.removeAll(rhs);
  		
  		Set<T> inBoth = new HashSet<T>(lhs);
  		inBoth.removeAll(onlyInLhs);
  		
  		Set<T> onlyInRhs = new HashSet<T>(rhs);
  		onlyInRhs.removeAll(inBoth);
  		
  		return new Result<T>(onlyInLhs, onlyInRhs, inBoth);
  	}
docs: Compare and find out the difference between two collections.
  The comparison depends on hashCode(...) and equals(...) methods of the elements.
  @param lhs	left hand side
  @param rhs	right hand side
  @return	the result with information about elements only in lhs, only in rhs, and in both.