Why doesn’t this statement throw a StackOverflowError?
NIL is a static variable. It is initialized one time, when the class is initialized. When it is initialized, a single Node instance is created. The creation of that Node doesn’t trigger creation of any other Node instances, so there is not infinite chain of calls. Passing Node.NIL to the constructor call has the same … Read more