if (fBracketLevelStack.size() == 0) { document.removePositionUpdater(fUpdater); try { document.removePositionCategory(CATEGORY); } catch (BadPositionCategoryException e) { } }
		public void left(LinkedModeModel environment, int flags) {						final BracketLevel level= (BracketLevel) fBracketLevelStack.pop();			if (flags != ILinkedModeListener.EXTERNAL_MODIFICATION)				return;			// remove brackets			final ISourceViewer sourceViewer= getSourceViewer();			final IDocument document= sourceViewer.getDocument();			if ((level.fFirstPosition.isDeleted || level.fFirstPosition.length == 0) 					&& !level.fSecondPosition.isDeleted 					&& level.fSecondPosition.offset == level.fFirstPosition.offset)			{				try {					document.replace(level.fSecondPosition.offset, level.fSecondPosition.length, null);				} catch (BadLocationException e) {				}			}						if (fBracketLevelStack.size() == 0) {				document.removePositionUpdater(fUpdater);				try {					document.removePositionCategory(CATEGORY);				} catch (BadPositionCategoryException e) {				}			}		}