code: private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
  		in.defaultReadObject();
  		final N me = toN();
  		if (this.left != null) {
  			this.left.setParentNodeReference(me, false);
  		}
  		if (this.middle != null) {
  			this.middle.setParentNodeReference(me, false);
  		}
  		if (this.right != null) {
  			this.right.setParentNodeReference(me, false);
  		}
  	}
docs: Invoked when this object must be deserialized.
  
  @param in is the input stream.
  @throws IOException in case of input stream access error.
  @throws ClassNotFoundException if some class was not found.