List<Icon> (@NotNull Icon icon) { if (icon instanceof RetrievableIcon) { return autopsyIconsFrom(((RetrievableIcon)icon).retrieveIcon()); } if (icon instanceof LayeredIcon) { return ContainerUtil.flatten(ContainerUtil.map(((LayeredIcon)icon).getAllLayers(), IconTestUtil::autopsyIconsFrom)); } if (icon instanceof RowIcon) { return ContainerUtil.flatten(ContainerUtil.map(((RowIcon)icon).getAllIcons(), IconTestUtil::autopsyIconsFrom)); } return Collections.singletonList(icon); }