code: public static Optional<Metadata> tryFindInRefines(Set<Metadata> metas, final Property property,
        final Optional<String> value)
    {
      Preconditions.checkNotNull(metas);
      Preconditions.checkNotNull(property);
      Preconditions.checkNotNull(value);
      return Iterables.tryFind(metas, new Predicate<Metadata>()
      {
        @Override
        public boolean apply(Metadata meta)
        {
          return tryFind(meta.getRefiners(), property, value).isPresent();
        }
      });
    }
docs: Search all refining expressions of the given metadata expressions, and
  return the first one that matches the given property and value (if
  present).
  <p>
  If <code>value</code> is {@link Optional#absent()}
  </p>
  , only the property is used in the lookup.
  
  @param metas
  A set of metadata expressions to search
  @param property
  The property of the searched expression
  @param value
  The value of the searched expression, can be absent if the value
  is not relevant in the search
  @return an {@link Optional} containing an expression refining one of the
  expressions in <code>metas</code> and matching the given property
  and value, or {@link Optional#absent()} if none is found.