code: @SuppressWarnings("unchecked")
      public Constraint getConstraint(String ... typeInfo) {
          if( typeInfo == null || typeInfo.length < 1 ) {
              return getConstraints().iterator().next();
          }
          else if( typeInfo.length == 1 ) {
              Constraint c = getConstraint(new String[0]);
              DataType<?> attr = c.getType();
              Boolean b;
              
              b = (Boolean)attr.getValue(typeInfo[0]);
              if( b == null || !b ) {
                  return constraints.get(1);
              }
              else {
                  return constraints.get(2);
              }
          }
          else {
              return super.getConstraint(typeInfo);
          }
      }
docs: Overrides the default method to allow conditional checking. Only for non-longtext
  strings do we allow for a list of choices.