private void setupValueChangedListeners() {
    // handle icon changes
    icon.addListener((observable, oldIcon, newIcon) -> {
      if (oldIcon != newIcon) {
        updateIcon();
      }
    });
  }
Creates a new {@link CustomTabSkin} object for a corresponding {@link CustomTab}.

@param tab the {@link CustomTab} for which this Skin is created
workbenchfx-demo/src/main/java/com/dlsc/workbenchfx/demo/controls/CustomTabSkin.java