docs: private ConstraintChecker createChecker( ExecutionContext context,
                                               int type,
                                               String[] valueConstraints ) {
          switch (type) {
              case PropertyType.BINARY:
                  return new BinaryConstraintChecker(valueConstraints, context);
              case PropertyType.DATE:
                  return new DateTimeConstraintChecker(valueConstraints, context);
              case PropertyType.DOUBLE:
                  return new DoubleConstraintChecker(valueConstraints, context);
              case PropertyType.LONG:
                  return new LongConstraintChecker(valueConstraints, context);
              case PropertyType.NAME:
                  return new NameConstraintChecker(valueConstraints, context);
              case PropertyType.PATH:
                  return new PathConstraintChecker(valueConstraints, context);
              case PropertyType.REFERENCE:
              case PropertyType.WEAKREFERENCE:
                  return new ReferenceConstraintChecker(valueConstraints, context);
              case org.modeshape.jcr.api.PropertyType.SIMPLE_REFERENCE:
                  return new SimpleReferenceConstraintChecker(valueConstraints, context);
              case PropertyType.URI:
              case PropertyType.STRING:
                  return new StringConstraintChecker(valueConstraints, context);
              case PropertyType.DECIMAL:
                  return new DecimalConstraintChecker(valueConstraints, context);
              case PropertyType.BOOLEAN: {
                  return new BooleanConstraintChecker(context, valueConstraints);
              }
              default:
                  throw new IllegalStateException("Invalid property type: " + type);
          }
      }