I'd like to raise this issue again since my last question wasn't answered. What distinct advantage is there for method signatures to accept PrimitiveIterator<T> over Iterator<T>? I don't see any at this moment. Providing no additional methods, its existence seems superfluous. AFAIC, it is better as a package-private interface than a public one. Paul