public boolean isValidFor(IDocument document, int offset) {
   try {
     int length = offset - fReplacementOffset;
     return completionProposal
         .getDisplayString()
         .toLowerCase()
         .contains(document.get(fReplacementOffset, length).toLowerCase());
   } catch (BadLocationException e) {
     // ignore
   }
   return false;
 }
 public IContextInformation getContextInformation() {
   return completionProposal.getContextInformation();
 }
 public Image getImage() {
   return completionProposal.getImage();
 }
 public String getDisplayString() {
   return completionProposal.getDisplayString();
 }
 public String getAdditionalProposalInfo() {
   return completionProposal.getAdditionalProposalInfo();
 }
 public Point getSelection(IDocument document) {
   return completionProposal.getSelection(document);
 }