This copy constructor should probably be 'explicit' eg
```C++
explicit InternalNode( const InternalNode &otherNode ) { ... }
```
So that people don't assume it's a cheap operation, being a deep copy.

Again it's a minor nit, so see what Ralph thinks