else { getViewer( ).setSelection( new StructuredSelection( ) ); }
	public void dispatchKeyTraversed( TraverseEvent e )	{		IFigure focusOwner = null;		List list = getViewer().getSelectedEditParts();		int size = list.size();		IFigure nextFigure = null;		if ( e.detail == SWT.TRAVERSE_TAB_NEXT )		{			AbstractGraphicalEditPart part = size == 0?null:(AbstractGraphicalEditPart)list.get(list.size() - 1);			IFigure figure = part == null ? null : part.getFigure();			focusOwner = getFocusOwner(figure);			if ((e.stateMask & SWT.CTRL) > 0)			{				nextFigure = focusManager.getNextFocusableFigure(						getRoot( ), focusOwner );			}			else			{				nextFigure = focusManager.getNextFocusableFigureInSameOrder(						getRoot( ), focusOwner );			}		}		else if ( e.detail == SWT.TRAVERSE_TAB_PREVIOUS )		{			AbstractGraphicalEditPart part = size == 0?null:(AbstractGraphicalEditPart)list.get(0);			IFigure figure = part == null ? null : part.getFigure();			focusOwner = getFocusOwner(figure);						if ((e.stateMask & SWT.CTRL) > 0)			{				nextFigure = focusManager				.getPreviousFocusableFigure( getRoot( ), focusOwner );			}			else			{				nextFigure = focusManager.getPreviousFocusableFigureInSameOrder(						getRoot( ), focusOwner );			}								}		if ( nextFigure != null )		{			e.doit = false;			setFocus( nextFigure );			Object obj = getViewer( ).getVisualPartMap( ).get( nextFigure );			if ( obj != null )			{				getViewer( ).setSelection( new StructuredSelection( obj ) );			}			if (obj instanceof EditPart)			{				getViewer().reveal((EditPart)obj);			}		}		else		{			getViewer( ).setSelection( new StructuredSelection( ) );		}	}