Icon () { Icon scaledDelegate = myScaledDelegate; if (scaledDelegate == null) { if (getScale() == 1f || !(myDelegate instanceof ScalableIcon)) { scaledDelegate = myDelegate; } else { scaledDelegate = ((ScalableIcon)myDelegate).scale(getScale()); } myScaledDelegate = scaledDelegate; } return scaledDelegate; }