Icon () { if (myIcon == null) { // getIconUrl() shouldn't be called before the instance is properly initialized final String iconUrl = getIconUrl(); if (StringUtil.isEmpty(iconUrl)) { myIcon = TasksCoreIcons.Jira; } else { myIcon = new DeferredIconImpl<>(TasksCoreIcons.Jira, iconUrl, false, JiraTask::getIconByUrl); } } return myIcon; }