protected ASTPrimaryNoNewArray_lf_primary_lfno_arrayAccess_lf_primary(
      /* generated by template ast.ConstructorParametersDeclaration*/
      java8._ast.ASTClassInstanceCreationExpression_lf_primary
          classInstanceCreationExpression_lf_primary,
      java8._ast.ASTFieldAccess_lf_primary fieldAccess_lf_primary,
      java8._ast.ASTMethodInvocation_lf_primary methodInvocation_lf_primary,
      java8._ast.ASTMethodReference_lf_primary methodReference_lf_primary)

        /* generated by template ast.ConstructorAttributesSetter*/
      {
    setClassInstanceCreationExpression_lf_primary(classInstanceCreationExpression_lf_primary);
    setFieldAccess_lf_primary(fieldAccess_lf_primary);
    setMethodInvocation_lf_primary(methodInvocation_lf_primary);
    setMethodReference_lf_primary(methodReference_lf_primary);
  }
  public void remove_Child(de.monticore.ast.ASTNode child) {

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

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

    if (getClassInstanceCreationExpression_lf_primary().isPresent()
        && getClassInstanceCreationExpression_lf_primary().get() == child) {
      setClassInstanceCreationExpression_lf_primary(null);
    }
    if (getFieldAccess_lf_primary().isPresent() && getFieldAccess_lf_primary().get() == child) {
      setFieldAccess_lf_primary(null);
    }
    if (getMethodInvocation_lf_primary().isPresent()
        && getMethodInvocation_lf_primary().get() == child) {
      setMethodInvocation_lf_primary(null);
    }
    if (getMethodReference_lf_primary().isPresent()
        && getMethodReference_lf_primary().get() == child) {
      setMethodReference_lf_primary(null);
    }
  }