private void init() {
        if (Double.compare(getSkinnable().getPrefWidth(), 0.0) <= 0 || Double.compare(getSkinnable().getPrefHeight(), 0.0) <= 0 ||
            getSkinnable().getWidth() <= 0 || getSkinnable().getHeight() <= 0) {
            getSkinnable().setPrefSize(PREFERRED_SIZE, PREFERRED_SIZE);
        }

        if (Double.compare(getSkinnable().getMinWidth(), 0.0) <= 0 || Double.compare(getSkinnable().getMinHeight(), 0.0) <= 0) {
            getSkinnable().setMinSize(MINIMUM_SIZE, MINIMUM_SIZE);
        }

        if (Double.compare(getSkinnable().getMaxWidth(), 0.0) <= 0 || Double.compare(getSkinnable().getMaxHeight(), 0.0) <=0) {
            getSkinnable().setMaxSize(MAXIMUM_SIZE, MAXIMUM_SIZE);
        }

        for(int i = 0 ; i < getSkinnable().getNoOfLeds() ; i++) {
            Led led = LedBuilder.create()
                                .frameVisible(getSkinnable().isFrameVisible())
                                .prefWidth(getSkinnable().getLedSize())
                                .prefHeight(getSkinnable().getLedSize())
                                .build();
            ledList.add(led);
            if (getSkinnable().getValue() > 0) {
                if (Double.compare(i * stepSize.doubleValue(), getSkinnable().getValue()) <= 0) {
                    ledList.get(i).setOn(true);
                } else {
                    ledList.get(i).setOn(false);
                }
            }
        }

        setLedColors();
        setLedTypes();
    }