if (!fCloseBrackets || !isResfOfLineEmpty(document, offset + length)) return;
if (!fCloseBrackets) return; if (hasIdentifierToTheRight(document, offset + length)) return;
		public void verifyKey(VerifyEvent event) {						if (!event.doit)				return;			final ISourceViewer sourceViewer= getSourceViewer();			IDocument document= sourceViewer.getDocument();			final Point selection= sourceViewer.getSelectedRange();			final int offset= selection.x;			final int length= selection.y;			switch (event.character) {			case '(':			case '[':				if (!fCloseBrackets || !isResfOfLineEmpty(document, offset + length))					return;						case '"':				if (event.character == '"' && !fCloseStrings)					return;								try {							ITypedRegion partition= document.getPartition(offset);					if (! IDocument.DEFAULT_CONTENT_TYPE.equals(partition.getType()) && partition.getOffset() != offset)						return;					final char character= event.character;					final char closingCharacter= getPeerCharacter(character);							final StringBuffer buffer= new StringBuffer();					buffer.append(character);					buffer.append(closingCharacter);					document.replace(offset, length, buffer.toString());					LinkedPositionManager manager= new LinkedPositionManager(document);					manager.addPosition(offset + 1, 0);					fOffset= offset;					fLength= 2;								LinkedPositionUI editor= new LinkedPositionUI(sourceViewer, manager);					editor.setCancelListener(this);					editor.setExitPolicy(new ExitPolicy(closingCharacter));					editor.setFinalCaretOffset(offset + 2);					editor.enter();					IRegion newSelection= editor.getSelectedRegion();					sourceViewer.setSelectedRange(newSelection.getOffset(), newSelection.getLength());						event.doit= false;				} catch (BadLocationException e) {				}				break;				}		}