I would say there is a big difference between stream and stream pipeline ;)
Stream is an approach to access data stored in some backed storage (collection, file, generator)
Pipeline -- consists of a stream, zero or more intermediate operation, and exactly one terminal operation.
x is initially 10 (passed in from the main method)
then x is reassigned 4 then end is assigned 4 and stored as final instance variable
The rest should be clear.
It's a bad practice reassign passed in parameters, and you can declare them final in method declaration to avoid such problems, but the exam is not about good coding style, it may show you horrible tricky code which you will never want to use in your work.