Buggy code:
public class QueryExecutionCompare implements QueryExecution { private static final Logger logger = LoggerFactory . getLogger ( QueryExecutionCompare . class ) ; public static Multiset < QuerySolution > toMultisetQs ( ResultSet rs ) { } public static Multiset < Binding > toMultiset ( ResultSet rs ) { } public static ListDiff < Binding > compareOrdered ( ResultSet a , ResultSet b ) { } public static ListDiff < Binding > compareUnordered ( ResultSet a , ResultSet b ) { } public static ModelDiff compareModel ( Model a , Model b ) { } private boolean isOrdered ; private QueryExecution a ; private QueryExecution b ; private Query query = null ; private Diff < ResultSetPart > resultSetDiff = null ; private ModelDiff modelDiff = null ; private Diff < Boolean > askDiff = null ; public boolean isDifference ( ) { } public QueryExecutionCompare ( Query query , QueryExecution a , QueryExecution b , boolean isOrdered ) { } @ Override public void setInitialBinding ( QuerySolution binding ) { } @ Override public Dataset getDataset ( ) { } @ Override public Context getContext ( ) { } @ Override public Query getQuery ( ) { } @ Override public ResultSet execSelect ( ) { ResultSetRewindable x ; ResultSetRewindable y ; try { ResultSet r = a . execSelect ( ) ; x = ResultSetFactory . makeRewindable ( r ) ; x . reset ( ) ; ResultSet s = b . execSelect ( ) ; y = ResultSetFactory . makeRewindable ( s ) ; y . reset ( ) ; } catch ( RuntimeException e ) { resultSetDiff = Diff . < ResultSetPart > create ( new ResultSetPart ( ) , new ResultSetPart ( ) ) ; <START_BUG> throw e ; <END_BUG> } ListDiff < Binding > tmp = ( isOrdered ) ? QueryExecutionCompare . compareOrdered ( x , y ) : QueryExecutionCompare . compareUnordered ( x , y ) ; resultSetDiff = Diff . create ( new ResultSetPart ( x . getResultVars ( ) , tmp . getAdded ( ) ) , new ResultSetPart ( y . getResultVars ( ) , tmp . getRemoved ( ) ) ) ; x . reset ( ) ; logResultSet ( ) ; return x ; } public void log ( long added , long removed ) { } public void log ( ResultSetPart ra , ResultSetPart rb ) { } public void logResultSet ( ) { } public void logModel ( ) { } public void logAsk ( ) { } @ Override public Model execConstruct ( ) { } @ Override public Model execConstruct ( Model model ) { } @ Override public Model execDescribe ( ) { } @ Override public Model execDescribe ( Model model ) { } @ Override public boolean execAsk ( ) { } @ Override public void abort ( ) { } @ Override public void close ( ) { } @ Override public void setTimeout ( long timeout , TimeUnit timeoutUnits ) { } @ Override public void setTimeout ( long timeout ) { } @ Override public void setTimeout ( long timeout1 , TimeUnit timeUnit1 , long timeout2 , TimeUnit timeUnit2 ) { } @ Override public void setTimeout ( long timeout1 , long timeout2 ) { } @ Override public Iterator < Triple > execConstructTriples ( ) { } @ Override public Iterator < Triple > execDescribeTriples ( ) { } @ Override public long getTimeout1 ( ) { } @ Override public long getTimeout2 ( ) { } @ Override public boolean isClosed ( ) { } @ Override public Iterator < Quad > execConstructQuads ( ) { } @ Override public Dataset execConstructDataset ( ) { } @ Override public Dataset execConstructDataset ( Dataset dataset ) { } }

Fix:
throw new RuntimeException ( e ) ;