Description
During tests I frequently see KernelNodeState.getChildPath() and KernelNodeState.getChildNode() as hot spots. Some of those calls can be avoided when KernelNodeState implements hasChildNode(). Currently it will just fall back to the generic implementation in AbstractNodeState, which attempts to load the child node. In most cases this is unnecessary when the node state is a KernelNodeState because this implementation keeps the child node names in a set (up to MAX_CHILD_NODE_NAMES).