code: public List<XMLValidator> getValidators(final ValidationContext context)
    {
      return FluentIterable
          .from(validators.entrySet())
          .transform(
              new Function<Entry<XMLValidators, Predicate<? super ValidationContext>>, XMLValidator>()
              {
  
                @Override
                public XMLValidator apply(
                    Entry<XMLValidators, Predicate<? super ValidationContext>> entry)
                {
                  return entry.getValue().apply(context) ? entry.getKey().get() : null;
                }
              }).filter(Predicates.notNull()).toList();
    }
docs: Returns a list of {@link XMLValidator}s applicable to the given
  {@link ValidationContext}, as determined by the {@link Predicate} used to
  build this map. The validators are returned in the order in which they have
  been added to the builder.
  <p>
  <code>XMLValidator</code> instances are built dynamically, only when the
  context satisfies the underlying predicate.
  </p>
  
  @param context
  a validation context
  @return the list of validators applicable to <code>context</code>