private boolean compareLines( final String refText, final String text, final CompareStatistics statistics) throws IOException { log("running comparison"); final LineNumberReader lnrRef = new LineNumberReader(new StringReader(refText)); final LineNumberReader lnrOther = new LineNumberReader(new StringReader(text)); String lineRef; String lineOther; while ((lineRef = lnrRef.readLine()) != null) { lineOther = lnrOther.readLine(); if (lineOther == null) { statistics.failedRefIsLonger(); return false; } if (!lineRef.equals(lineOther)) { statistics.failedDontMatch(lineRef, lineOther); return false; } } if (lnrOther.readLine() != null) { statistics.failedOtherIsLonger(); return false; } return true; }