Icon (@NotNull PsiElement element, int flags) { if (element.isValid()) { for (IconProvider provider : EXTENSION_POINT_NAME.getIterable()) { ProgressManager.checkCanceled(); try { Icon icon = provider == null ? null : provider.getIcon(element, flags); if (icon != null) { LOG.debug("icon found in ", provider); return icon; } } catch (IndexNotReadyException exception) { throw new ProcessCanceledException(exception); } catch (ProcessCanceledException exception) { throw exception; } catch (Exception exception) { LOG.warn("unexpected error in " + provider, exception); } } return element.getIcon(flags); } return null; }