Bug 49658 Incorrect decorator for inner classes of an interface [render]
public interface I { class IC {} } In Package Explorere and Members IC shows up with a blue triangle (package private). It is of course public. When public is added it shows up with no decorator. In any case it is questionalbe both here and when IC is a member of a class wether the decorator should be abasent in the latter case or whether it should be the gree circle.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/typehierarchy/HierarchyLabelProvider.java
} else {
			result= fImageLabelProvider.getImageLabel(element, evaluateImageFlags(element));
		}
		return decorateImage(result, element);
	}
	private ImageDescriptor getTypeImageDescriptor(IType type) {
		ITypeHierarchy hierarchy= fHierarchy.getHierarchy();
		if (hierarchy == null) {
			return new JavaElementImageDescriptor(JavaPluginImages.DESC_OBJS_CLASS, 0, JavaElementImageProvider.BIG_SIZE);
		}
		
		IType originalType= (IType) JavaModelUtil.toOriginal(type);
		int flags= hierarchy.getCachedFlags(originalType);
		if (flags == -1) {
			return new JavaElementImageDescriptor(JavaPluginImages.DESC_OBJS_CLASS, 0, JavaElementImageProvider.BIG_SIZE);
		}
		
		boolean isInterface= Flags.isInterface(flags);
		boolean isInner= (type.getDeclaringType() != null);
		ImageDescriptor desc;
		if (isDifferentScope(type)) {
			desc= isInterface ? JavaPluginImages.DESC_OBJS_INTERFACEALT : JavaPluginImages.DESC_OBJS_CLASSALT;
		} else {
			desc= JavaElementImageProvider.getTypeImageDescriptor(isInterface, isInner, flags);
		}
		int adornmentFlags= 0;
		if (Flags.isFinal(flags)) {
			adornmentFlags |= JavaElementImageDescriptor.FINAL;
		}
		if (Flags.isAbstract(flags) && !isInterface) {