@Override
  public XPathDiagnostic<T> diagnose(Object context, boolean firstonly) {
    final List<?> result = firstonly ? Collections
      .singletonList(evaluateRawFirst(context))
                                     : evaluateRawAll(context);
    return new XPathDiagnosticImpl<>(context, this, result, firstonly);
  }
@Override
  public XPathDiagnostic<T> diagnose(Object context, boolean firstonly)