title: How are lazy streams implemented in Java 8?
body: <p>I am reading Java 8, specifically the "Streams API". I wanted to know how streams can be lazy?</p>
  
  <p>I believe streams are just added as a library and there are no changes done to the language to support laziness. Also, I will be shocked if somebody tells me it's achieved through reflection.</p>