code: void checkChildValidity(Node node, Node child, String name, boolean mandatory, Class<?> typeAssertion) {
  		verifyNodeRelation(node, child, name, mandatory, typeAssertion);
  	}
docs: Checks if a given child is syntactically valid; you specify exactly what is required for this to hold in the parameters.
  This method will recursively call {@link #checkSyntacticValidity()} on the child.
  
  @param node The node responsible for the check.
  @param child The actual child node object that will be checked.
  @param name The name of this node. For example, in a binary operation, {@code "left side"}.
  @param mandatory If this node not being there (being {@code null}) is a problem or acceptable.
  @param typeAssertion If the node exists, it must be an instance of this type.