public <T> XPathExpression<T> compile(String expression, Filter<T> filter,
                                        Map<String, Object> variables, Collection<Namespace> namespaces) {
    return compile(expression, filter, variables, namespaces.toArray(EMPTYNS));
  }
public <T> XPathExpression<T> compile(String expression, Filter<T> filter,
                                        Map<String, Object> variables, Collection<Namespace> namespaces)