/** @see AbstractTextEditor#createPartControl(Composite) */
  @Override
  public void createPartControl(Composite parent) {

    super.createPartControl(parent);

    IPreferenceStore preferenceStore = getPreferenceStore();
    boolean closeBrackets = preferenceStore.getBoolean(PreferenceConstants.EDITOR_CLOSE_BRACKETS);
    boolean closeStrings = preferenceStore.getBoolean(PreferenceConstants.EDITOR_CLOSE_STRINGS);

    this.fBracketInserter.setCloseBracketsEnabled(closeBrackets);
    this.fBracketInserter.setCloseStringsEnabled(closeStrings);

    ISourceViewer sourceViewer = getSourceViewer();

    if (sourceViewer instanceof ITextViewerExtension) {
      ((ITextViewerExtension) sourceViewer).prependVerifyKeyListener(this.fBracketInserter);
    }
  }