@Override
 public T addRejectCheck(RejectAttributeChecker rejectChecker, String... rejectedAttributes) {
   for (String attribute : rejectedAttributes) {
     registry.addAttributeCheck(attribute, rejectChecker);
   }
   return thisBuilder();
 }
 @Override
 public T setValueConverter(AttributeConverter attributeConverter, String... convertedAttributes) {
   for (String attribute : convertedAttributes) {
     registry.addAttributeConverter(attribute, attributeConverter);
   }
   return thisBuilder();
 }
 @Override
 public T setDiscard(DiscardAttributeChecker discardChecker, String... discardedAttributes) {
   String[] useDefs = discardedAttributes;
   for (String attrName : useDefs) {
     registry.setDiscardedAttribute(discardChecker, attrName);
   }
   return thisBuilder();
 }
 @Override
 public T addRejectCheck(
     final RejectAttributeChecker checker, final AttributeDefinition... rejectedAttributes) {
   for (AttributeDefinition attribute : rejectedAttributes) {
     String attrName = getAttributeName(attribute);
     registry.addAttributeCheck(attrName, checker);
   }
   return thisBuilder();
 }
 @Override
 public T setDiscard(
     DiscardAttributeChecker discardChecker, Collection<AttributeDefinition> discardedAttributes) {
   for (AttributeDefinition attribute : discardedAttributes) {
     String attrName = getAttributeName(attribute);
     registry.setDiscardedAttribute(discardChecker, attrName);
   }
   return thisBuilder();
 }
 @Override
 public T setValueConverter(
     AttributeConverter attributeConverter, AttributeDefinition... convertedAttributes) {
   for (AttributeDefinition attribute : convertedAttributes) {
     String attrName = getAttributeName(attribute);
     registry.addAttributeConverter(attrName, attributeConverter);
   }
   return thisBuilder();
 }
 @Override
 public T setDiscard(
     DiscardAttributeChecker discardChecker, AttributeDefinition... discardedAttributes) {
   AttributeDefinition[] useDefs = discardedAttributes;
   for (AttributeDefinition attribute : useDefs) {
     String attrName = getAttributeName(attribute);
     registry.setDiscardedAttribute(discardChecker, attrName);
   }
   return thisBuilder();
 }
 public T addRenames(Map<String, String> renames) {
   for (Map.Entry<String, String> rename : renames.entrySet()) {
     registry.addRenamedAttribute(rename.getKey(), rename.getValue());
   }
   return thisBuilder();
 }
 @Override
 public T addRename(String attributeName, String newName) {
   registry.addRenamedAttribute(attributeName, newName);
   return thisBuilder();
 }
 @Override
 public T addRename(AttributeDefinition attributeName, String newName) {
   registry.addRenamedAttribute(getAttributeName(attributeName), newName);
   return thisBuilder();
 }