@Override
public Image getImage() {
if (this.image != null) {
return this.image;
}
CompletionProposalLabelProvider provider = new CompletionProposalLabelProvider();
CompletionProposal generatedProposal = CompletionProposal.create(completionProposalKind, 0);
generatedProposal.setFlags(completionProposalFlags);
if (HAS_ADDITIONAL_FLAGS) {
generatedProposal.setAdditionalFlags(completionProposalAdditionalFlags);
}
generatedProposal.setDeclarationSignature(completionPropsoalSignature);
generatedProposal.setSignature(completionPropsoalSignature);
//uses: kind, flags, signature to create an image.
ImageDescriptor descriptor = provider.createImageDescriptor(generatedProposal);
return descriptor.createImage();
}