code: public static DefinitelyAssignedSet join(DefinitelyAssignedSet left, DefinitelyAssignedSet right) {
  		if(left == null && right == null) {
  			return null;
  		} else if(left == null) {
  			return right;
  		} else if(right == null) {
  			return left;
  		} else {
  			return left.join(right);
  		}
  	}
docs: join two sets of definitely assigned variables together. This allows for
  the possibility that either or both arguments are null. The join itself
  is corresponds to the intersection of both sets.
  
  @param left
  @param right
  @return