docs: protected final AbstractJcrNode childNode( Name name,
                                                 Type expectedType )
          throws PathNotFoundException, ItemNotFoundException, InvalidItemStateException {
          ChildReference ref = node().getChildReferences(sessionCache()).getChild(name);
          if (ref == null) {
              String msg = JcrI18n.childNotFoundUnderNode.text(readable(name), location(), session.workspaceName());
              throw new PathNotFoundException(msg);
          }
          return session().node(ref.getKey(), expectedType, key());
      }