@Override
    protected void setLeaf(String name, DefLine defLine, String comment) throws IllegalArgumentException {
        if (name.indexOf('.') < 0) {
            throw new IllegalArgumentException("Parameter with name '" + name +
                    "' cannot be a leaf node as it has already been declared as an inner node.");
        }
        checkMyName(name.substring(0, name.indexOf('.')));
        String childName = name.substring(name.indexOf('.') + 1);

        CNode child = createOrGetChild(defLine.getType(), childName);
        restart |= defLine.getRestart();
        child.setLeaf(childName, defLine, comment);
        children.put(child.getName(), child);
    }
Adds a child to this node with the given type, name and value. Necessary children on the path
to the given leaf node will be added as well.

@param name         the full name/path of the node to add.
@param defLine      the parsed .def-file line to add.
@param comment      comment extracted from the .def-file.
configgen/src/main/java/com/yahoo/config/codegen/InnerCNode.java