@Override
 public boolean accept(org.lgna.project.ast.NamedUserType userType) {
   if (super.accept(userType)) {
     org.lgna.project.ast.AbstractConstructor constructor =
         userType.getDeclaredConstructor(this.parameterType);
     if (constructor != null) {
       org.lgna.project.ast.AbstractParameter parameter0 =
           constructor.getRequiredParameters().get(0);
       return parameter0.getValueType() == this.parameterType;
     } else {
       return false;
     }
   } else {
     return false;
   }
 }
 @Override
 public boolean accept(org.lgna.project.ast.NamedUserType userType) {
   if (super.accept(userType)) {
     org.lgna.project.ast.NamedUserConstructor constructor = userType.getDeclaredConstructor();
     if (constructor != null) {
       org.lgna.project.ast.ConstructorInvocationStatement constructorInvocationStatement =
           constructor.body.getValue().constructorInvocationStatement.getValue();
       if (constructorInvocationStatement
           instanceof org.lgna.project.ast.SuperConstructorInvocationStatement) {
         if (constructorInvocationStatement.requiredArguments.size() == 1) {
           org.lgna.project.ast.Expression argumentExpression =
               constructorInvocationStatement.requiredArguments.get(0).expression.getValue();
           if (argumentExpression instanceof org.lgna.project.ast.FieldAccess) {
             org.lgna.project.ast.FieldAccess fieldAccess =
                 (org.lgna.project.ast.FieldAccess) argumentExpression;
             return fieldAccess.field.getValue() == this.superArgumentField;
           }
         }
       }
     }
   }
   return false;
 }