if (currentList != null && !combinedBlocks.contains(currentList)) { combinedBlocks.add(currentList);  }
    private static List combineBlocks(List blocksList, int gutter) {        List combinedBlocks = new LinkedList();        List currentList = new LinkedList();                QSequenceDifferenceBlock lastBlock = null;        for(Iterator blocks = blocksList.iterator(); blocks.hasNext();) {            QSequenceDifferenceBlock currentBlock = (QSequenceDifferenceBlock) blocks.next();            if (lastBlock != null) {                if (currentBlock.getLeftFrom() - lastBlock.getLeftTo() > gutter &&                    currentBlock.getRightFrom() - lastBlock.getRightFrom() > gutter) {                    combinedBlocks.add(currentList);                    currentList = new LinkedList();                }             }            currentList.add(currentBlock);            lastBlock = currentBlock;        }        return combinedBlocks;            }