protected void assertQueryResultsEqual(TupleQueryResult expected, TupleQueryResult output)
     throws QueryEvaluationException, TupleQueryResultHandlerException,
         QueryResultHandlerException, UnsupportedEncodingException {
   MutableTupleQueryResult r1 = new MutableTupleQueryResult(expected);
   MutableTupleQueryResult r2 = new MutableTupleQueryResult(output);
   if (!QueryResults.equals(r1, r2)) {
     r1.beforeFirst();
     r2.beforeFirst();
     assertEquals(toString(r1), toString(r2));
     r2.beforeFirst();
     fail(toString(r2));
   }
 }