public void updateMatrix() {
        final int ASCII = getSkinnable().getCharacter().isEmpty() ? 20 : getSkinnable().getCharacter().toUpperCase().charAt(0);

        if (getSkinnable().getCustomDotMapping().isEmpty()) {
            for (Dot dot : dotMap.keySet()) {
                if (getSkinnable().getDotMapping().containsKey(ASCII)) {
                    if (getSkinnable().getDotMapping().get(ASCII).contains(dot)) {
                        dotMap.get(dot).getStyleClass().setAll("dot-on");
                        dotMap.get(dot).setEffect(getSkinnable().isGlowEnabled() ? glow : dotInnerShadow);
                    } else {
                        dotMap.get(dot).getStyleClass().setAll("dot-off");
                        dotMap.get(dot).setEffect(dotInnerShadow);
                    }
                } else {
                    dotMap.get(dot).getStyleClass().setAll("dot-off");
                    dotMap.get(dot).setEffect(dotInnerShadow);
                }
            }
        } else {
            for (Dot dot : dotMap.keySet()) {
                if (getSkinnable().getCustomDotMapping().containsKey(ASCII)) {
                    if (getSkinnable().getCustomDotMapping().get(ASCII).contains(dot)) {
                        dotMap.get(dot).getStyleClass().setAll("dot-on");
                        dotMap.get(dot).setEffect(getSkinnable().isGlowEnabled() ? glow : dotInnerShadow);
                    } else {
                        dotMap.get(dot).getStyleClass().setAll("dot-off");
                        dotMap.get(dot).setEffect(dotInnerShadow);
                    }
                } else {
                    dotMap.get(dot).getStyleClass().setAll("dot-off");
                    dotMap.get(dot).setEffect(dotInnerShadow);
                }
            }
        }
    }