line.revision = myCurrentRevision;
line.revision = myCurrentDate != null ? myCurrentRevision : -1;
    public void handleDiffWindowClosed(String token) throws SVNException {        myDeltaProcessor.textDeltaEnd();                RandomAccessFile left = null;        RandomAccessFile right = null;        try {            left = new RandomAccessFile(myPreviousFile, "r");            right = new RandomAccessFile(myCurrentFile, "r");            ArrayList newLines = new ArrayList();            int lastStart = 0;            final QSequenceLineResult result = QSequenceLineMedia.createBlocks(new QSequenceLineRAFileData(left), new QSequenceLineRAFileData(right), null);            try {                List blocksList = result.getBlocks();                for(int i = 0; i < blocksList.size(); i++) {                    QSequenceDifferenceBlock block = (QSequenceDifferenceBlock) blocksList.get(i);                    int start = block.getLeftFrom();                    for(int j = lastStart; j < Math.min(myLines.size(), start); j++) {                        newLines.add(myLines.get(j));                        lastStart = j + 1;                    }                    // skip it.                    if (block.getLeftSize() > 0) {                        lastStart += block.getLeftSize();                    }                    // copy all from right.                    for (int j = block.getRightFrom(); j <= block.getRightTo(); j++) {                        LineInfo line = new LineInfo();                        line.revision = myCurrentRevision;                        line.author = myCurrentAuthor;                        line.line = result.getRightCache().getLine(j).getBytes();                        line.date = myCurrentDate;                        newLines.add(line);                    }                }                for(int j = lastStart; j < myLines.size(); j++) {                    newLines.add(myLines.get(j));                }                myLines = newLines;            }            finally {                result.close();            }        } catch (Throwable e) {            SVNDebugLog.logInfo(e);        } finally {            if (left != null) {                try {                    left.close();                } catch (IOException e) {                    //                }            }            if (right != null) {                try {                    right.close();                } catch (IOException e) {                    //                }            }        }        System.out.println("renaming " + myCurrentFile + " to " + myPreviousFile);        SVNFileUtil.rename(myCurrentFile, myPreviousFile);        System.out.println("renamed");    }