Iterator versus Stream de Java 8

Para aprovechar la amplia gama de métodos de consulta incluidos enjava.util.stream&nbsp;de Jdk 8 Intenté diseñar modelos de dominio donde los captadores de relación con*&nbsp;multiplicidad (con cero o más instancias) devuelve unStream<T>, en lugar de unIterable<T>&nbsp;oIterator<T>.

Mi duda es si hay gastos generales adicionales incurridos por elStream<T>&nbsp;en comparación con elIterator<T>?

Entonces, ¿hay alguna desventaja de comprometer mi modelo de dominio con unStream<T>?

O, en cambio, debería devolver siempre unIterator<T>&nbsp;oIterable<T>, y deja al usuario final la decisión de elegir si usar una secuencia, o no, convirtiendo ese iterador con elStreamUtils?

Nota&nbsp;que devolver unCollection&nbsp;no es una opción válida porque en este caso la mayoría de las relaciones son flojas y de tamaño desconocido.