docs: private static void loadRestrictionToAttribute(MethodVisitor mVisitor, XsdRestriction restriction, String javaType, int index) {
          XsdLength length = restriction.getLength();
          XsdMaxLength maxLength = restriction.getMaxLength();
          XsdMinLength minLength = restriction.getMinLength();
          XsdFractionDigits fractionDigits = restriction.getFractionDigits();
          XsdMaxExclusive maxExclusive = restriction.getMaxExclusive();
          XsdMaxInclusive maxInclusive = restriction.getMaxInclusive();
          XsdMinExclusive minExclusive = restriction.getMinExclusive();
          XsdMinInclusive minInclusive = restriction.getMinInclusive();
          XsdPattern pattern = restriction.getPattern();
          XsdTotalDigits totalDigits = restriction.getTotalDigits();
  
          if (length != null){
              mVisitor.visitIntInsn(BIPUSH, length.getValue());
              mVisitor.visitVarInsn(ALOAD, index);
              mVisitor.visitMethodInsn(INVOKESTATIC, restrictionValidatorType, "validateLength", "(I" + javaType + ")V", false);
          }
  
          if (maxLength != null){
              mVisitor.visitLdcInsn(maxLength.getValue());
              mVisitor.visitVarInsn(ALOAD, index);
              mVisitor.visitMethodInsn(INVOKESTATIC, restrictionValidatorType, "validateMaxLength", "(I" + javaType + ")V", false);
          }
  
          if (minLength != null){
              mVisitor.visitLdcInsn(minLength.getValue());
              mVisitor.visitVarInsn(ALOAD, index);
              mVisitor.visitMethodInsn(INVOKESTATIC, restrictionValidatorType, "validateMinLength", "(I" + javaType + ")V", false);
          }
  
          if (maxExclusive != null){
              mVisitor.visitLdcInsn(maxExclusive.getValue());
              mVisitor.visitVarInsn(ALOAD, index);
              numericAdjustment(mVisitor, javaType);
              mVisitor.visitMethodInsn(INVOKESTATIC, restrictionValidatorType, "validateMaxExclusive", "(DD)V", false);
          }
  
          if (maxInclusive != null){
              mVisitor.visitLdcInsn(maxInclusive.getValue());
              mVisitor.visitVarInsn(ALOAD, index);
              numericAdjustment(mVisitor, javaType);
              mVisitor.visitMethodInsn(INVOKESTATIC, restrictionValidatorType, "validateMaxInclusive", "(DD)V", false);
          }
  
          if (minExclusive != null){
              mVisitor.visitLdcInsn(minExclusive.getValue());
              mVisitor.visitVarInsn(ALOAD, index);
              numericAdjustment(mVisitor, javaType);
              mVisitor.visitMethodInsn(INVOKESTATIC, restrictionValidatorType, "validateMinExclusive", "(DD)V", false);
          }
  
          if (minInclusive != null){
              mVisitor.visitLdcInsn(minInclusive.getValue());
              mVisitor.visitVarInsn(ALOAD, index);
              numericAdjustment(mVisitor, javaType);
              mVisitor.visitMethodInsn(INVOKESTATIC, restrictionValidatorType, "validateMinInclusive", "(DD)V", false);
          }
  
          if (fractionDigits != null){
              mVisitor.visitIntInsn(BIPUSH, fractionDigits.getValue());
              mVisitor.visitVarInsn(ALOAD, index);
              numericAdjustment(mVisitor, javaType);
              mVisitor.visitMethodInsn(INVOKESTATIC, restrictionValidatorType, "validateFractionDigits", "(ID)V", false);
          }
  
          if (totalDigits != null){
              mVisitor.visitIntInsn(BIPUSH, totalDigits.getValue());
              mVisitor.visitVarInsn(ALOAD, index);
              numericAdjustment(mVisitor, javaType);
              mVisitor.visitMethodInsn(INVOKESTATIC, restrictionValidatorType, "validateTotalDigits", "(ID)V", false);
          }
  
          if (pattern != null){
              mVisitor.visitLdcInsn(pattern.getValue());
              mVisitor.visitVarInsn(ALOAD, index);
              mVisitor.visitMethodInsn(INVOKESTATIC, restrictionValidatorType, "validatePattern", "(" + JAVA_STRING_DESC + JAVA_STRING_DESC + ")V", false);
          }
      }