class SimpleCheckBoxItem extends AbstractLabelTooltipItem{

    private final BooleanProperty property;
    
    /**
     * Creates a new SimpleCheckBoxItem. The property will bind to the
     * editor node's CheckBox.selectedProperty()
     * 
     * @param label     the label text
     * @param property  the property to edit
     * @param tooltip   the tooltip text
     */ 
    public SimpleCheckBoxItem(String label, BooleanProperty property, String tooltip){
        this(label, property, tooltip, NO_DECORATOR);
    }
    
    /**
     * Creates a new SimpleCheckBoxItem. The property will bind to the
     * editor node's CheckBox.selectedProperty()
     * 
     * @param label      the label text
     * @param property   the property to edit
     * @param tooltip    the tooltip text
     * @param decorator  the editor decorator
     */ 
    public SimpleCheckBoxItem(
            String label, 
            BooleanProperty property, 
            String tooltip, 
            UnaryOperator<Node> decorator) {
        
        super(label, tooltip, decorator);
        this.property = property;
    }

    @Override
    protected Node createUndecoratedEditor() {<FILL_FUNCTION_BODY>}    
}

        final CheckBox box = new CheckBox();
        box.setSelected( property.get() );        
        property.bindBidirectional(box.selectedProperty() );
        return box;
    
<methods>public final javafx.scene.Node createEditor() ,public javafx.scene.Node createLabel() ,public final void onRemove() <variables>protected static final UnaryOperator<javafx.scene.Node> NO_DECORATOR,private final non-sealed UnaryOperator<javafx.scene.Node> editorDecorator,private final non-sealed java.lang.String label,private final non-sealed Map<ObservableValue<java.lang.Object>,ChangeListener<java.lang.Object>> listeners,private final non-sealed java.lang.String tooltip