@ Override public Pair < Optional < E1 > , Optional < E2 > > next ( ) { return Pair . of ( former . next ( ) , latter . next ( ) ) ; }
iterating over the longest iterator gives a Pair of Optional . nothing indefinitely no matter how many times you try you can t shoot the dog