/**
  * Constructs a new instance of this popup, specifying the control for which this popup is showing
  * content, and how the proposals should be obtained and displayed.
  *
  * @param infoText Text to be shown in a lower info area, or <code>null</code> if there is no info
  *     area.
  */
 ContentProposalPopup(
     ContentProposalAdapter adapter,
     String infoText,
     ContentProposalList proposalList,
     int maxDisplay) {
   // IMPORTANT: Use of SWT.ON_TOP is critical here for ensuring
   // that the target control retains focus on Mac and Linux. Without
   // it, the focus will disappear, keystrokes will not go to the
   // popup, and the popup closer will wrongly close the popup.
   // On platforms where SWT.ON_TOP overrides SWT.RESIZE, we will live with this.
   // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=126138
   super(
       adapter.getControl().getShell(),
       SWT.RESIZE | SWT.ON_TOP,
       false,
       false,
       false,
       false,
       false,
       null,
       infoText);
   this.adapter = adapter;
   this.control = adapter.getControl();
   this.labelProvider = adapter.getLabelProvider();
   this.proposalList = proposalList;
 }