public static TableDescriptorBuilder add(TableDescriptorBuilder builder,
    Class<? extends Constraint> constraint, Configuration conf) throws IOException {
    enable(builder);
    long priority = getNextPriority(builder);
    addConstraint(builder, constraint, conf, priority++);

    return updateLatestPriority(builder, priority);
  }
Add a {@link Constraint} to the table with the given configuration
<p/>
Each constraint, when added to the table, will have a specific priority, dictating the order in
which the {@link Constraint} will be run. A {@link Constraint} added will run on the
regionserver before those added to the {@link TableDescriptorBuilder} later.
@param builder    {@link TableDescriptorBuilder} to add a {@link Constraint}
@param constraint to be added
@param conf       configuration associated with the constraint
@throws IOException if any constraint could not be deserialized. Assumes if 1 constraint is not
                    loaded properly, something has gone terribly wrong and that all constraints
                    need to be enforced.
hbase-server/src/main/java/org/apache/hadoop/hbase/constraint/Constraints.java