&& !bufferSwitcher.isPopupVisible())
&& (bufferSwitcher == null || !bufferSwitcher.isPopupVisible()))
	public void setBuffer(final Buffer buffer)	{		if(this.buffer == buffer)			return;		if(buffer.isClosed())			throw new InternalError(buffer + " has been closed");		recentBuffer = this.buffer;		if(recentBuffer != null)			saveCaretInfo();		this.buffer = buffer;		textArea.setBuffer(buffer);		if(!init)		{			view.updateTitle();			view.updateMarkerMenus();			if(bufferSwitcher != null)			{				if(bufferSwitcher.getSelectedItem() != buffer)					bufferSwitcher.setSelectedItem(buffer);			}			caretStatus.repaint();			EditBus.send(new EditPaneUpdate(this,EditPaneUpdate				.BUFFER_CHANGED));		}		SwingUtilities.invokeLater(new Runnable()		{			public void run()			{				// only do this if we are the current edit pane				if(view.getEditPane() == EditPane.this					&& !bufferSwitcher.isPopupVisible())				{					focusOnTextArea();				}			}		});		// Only do this after all I/O requests are complete		Runnable runnable = new Runnable()		{			public void run()			{				loadCaretInfo();				buffer.checkModTime(view);			}		};		if(buffer.isPerformingIO())			VFSManager.runInAWTThread(runnable);		else			runnable.run();	}