see new comments. if its still not clear I can rename a few things perhaps. The name "Level" could have been "PivotTreeNode" perhaps?