code: public static <S extends Storable> FilteringScore<S> evaluate(StorableIndex<S> index,
                                                                    Filter<S> filter)
      {
          if (index == null) {
              throw new IllegalArgumentException("Index required");
          }
  
          return evaluate(index.getOrderedProperties(),
                          index.isUnique(),
                          index.isClustered(),
                          filter);
      }
docs: Evaluates the given index for its filtering capabilities against the
  given filter.
  
  @param index index to evaluate
  @param filter filter which cannot contain any logical 'or' operations.
  @throws IllegalArgumentException if index is null or filter is not supported