    override def #::[B >: A](element: B): MyStream[B] = new FiniteStream[B](element, this)    override def filter(predicate: A => Boolean): MyStream[A] = {     lazy val filteredTail = tail.filter(predicate)     if (predicate(head)) 