Why do you fetch the first subnode?

If the first ```subnode``` is special, could you add a proper method to the ```Node``` class?