protected ASTTemplateargument(
      /* generated by template ast.ConstructorParametersDeclaration*/
      cpp14._ast.ASTConstantexpression constantexpression,
      cpp14._ast.ASTTypeidP typeidP,
      cpp14._ast.ASTIdexpression idexpression)

        /* generated by template ast.ConstructorAttributesSetter*/
      {
    setConstantexpression(constantexpression);
    setTypeidP(typeidP);
    setIdexpression(idexpression);
  }
  public void remove_Child(de.monticore.ast.ASTNode child) {

    /* generated by template ast.ErrorIfNull*/
    Log.errorIfNull(child, "0xA7006_693 Parameter 'child' must not be null.");

    /* generated by template ast.additionalmethods.RemoveChild*/

    if (getConstantexpression().isPresent() && getConstantexpression().get() == child) {
      setConstantexpression(null);
    }
    if (getTypeidP().isPresent() && getTypeidP().get() == child) {
      setTypeidP(null);
    }
    if (getIdexpression().isPresent() && getIdexpression().get() == child) {
      setIdexpression(null);
    }
  }