Icon () { if (mySubtypeName == null) { return super.getIcon(); } @SuppressWarnings("unchecked") List<TaskRepositorySubtype> subtypes = getRepositoryType().getAvailableSubtypes(); for (TaskRepositorySubtype s : subtypes) { if (mySubtypeName.equals(s.getName())) { return s.getIcon(); } } throw new AssertionError("Unknown repository subtype"); }