public JCheckBox addCheckboxEx(@NotNull @NlsContexts.Checkbox String label, @Language("jvm-field-name") @NotNull @NonNls String property) {
    if (myOptionAccessor == null) {
      throw new IllegalStateException("No option accessor or owner specified in constructor call");
    }
    final boolean selected = myOptionAccessor.getOption(property);
    final JCheckBox checkBox = new JCheckBox(label, selected);
    checkBox.addItemListener(e -> myOptionAccessor.setOption(property, e.getStateChange() == ItemEvent.SELECTED));
    addComponent(checkBox);
    return checkBox;
  }
public JCheckBox addCheckboxEx(@NotNull @NlsContexts.Checkbox String label, @Language("jvm-field-name") @NotNull @NonNls String property)