public Stream<T> stream(){
  if (head == null) {
    return Stream.empty();
  }
 else   if (tail == null) {
    return Stream.of(head);
  }
 else {
    return Stream.concat(Stream.of(head),tail.stream());
  }
}

public Stream < T > stream ( ) { if ( head == null ) { return Stream . empty ( ) ; } else if ( tail == null ) { return Stream . of ( head ) ; } else { return Stream . concat ( Stream . of ( head ) , tail . stream ( ) ) ; } }
stream all the content of the stack ( lifo order ) .
