AttributeType findType(Class binding) {
      for (Schema schema : typeMappingProfiles) {
        for (Map.Entry<Name, AttributeType> e : schema.entrySet()) {
          AttributeType at = e.getValue();
          if (at.getBinding() != null && at.getBinding().equals(binding)) {
            return at;
          }
        }

        for (AttributeType at : schema.values()) {
          if (binding.isAssignableFrom(at.getBinding())) {
            return at;
          }
        }
      }
      return null;
    }
 /**
  * Specifies a number of attribute type bindings.
  *
  * @param schema The schema containing the attribute types.
  * @see {@link #addBinding(AttributeType)}.
  */
 public void addBindings(Schema schema) {
   for (Iterator<AttributeType> itr = schema.values().iterator(); itr.hasNext(); ) {
     AttributeType type = itr.next();
     addBinding(type);
   }
 }