@Override
  public void dispose() {
    super.dispose();

    if (this.listener != null) {
      context(DiagramEditorPageDef.class).detach(this.listener, "PaletteCompartments/Id");
      this.listener = null;
    }
  }
  @Override
  protected void initPossibleValuesService() {
    super.initPossibleValuesService();

    final FilteredListener<PropertyContentEvent> listener =
        new FilteredListener<PropertyContentEvent>() {
          @Override
          protected void handleTypedEvent(PropertyContentEvent event) {
            fillPossibleValues();

            refresh();
          }
        };

    op().getActiveProfilesValue().attach(listener);

    fillPossibleValues();
  }