Assert.isLegal(document != null);
Assert.isLegal(!isConnected());
fUpdaterDocument= document;
try {
fUpdaterCategory= SELECTION_POSITION_CATEGORY + hashCode();
fUpdater= new NonDeletingPositionUpdater(fUpdaterCategory);
fUpdaterDocument.addPositionCategory(fUpdaterCategory);
fUpdaterDocument.addPositionUpdater(fUpdater);
ISelection selection= TextViewer.this.getSelection();
if (selection instanceof IBlockTextSelection) {