control.addFocusListener(new FocusListener() {
        private TraverseListener fTraverseListener;
        public void focusGained(FocusEvent e) {
          if (Helper.okToUse(control)) {
            if (fTraverseListener == null) {
              fTraverseListener= new TraverseListener() {
                public void keyTraversed(TraverseEvent event) {
                  if (event.detail == SWT.TRAVERSE_TAB_NEXT) {
                    IInformationControl iControl= fAdditionalInfoController.getCurrentInformationControl2();
                    if (fAdditionalInfoController.getInternalAccessor().canReplace(iControl)) {
                      fAdditionalInfoController.getInternalAccessor().replaceInformationControl(true);