/** * This does the same thing as IColorProvider.getForeground, * it fetches the foreground color specific to this object instance. */ public Object getForeground(Object object) { if (object instanceof EList<?>) { for (Object child : (EList<?>)object) { return getForeground(child); } return null; } else { // IItemColorProvider itemFontProvider = (IItemColorProvider)adapterFactory.adapt(object, IItemColorProvider.class); return itemFontProvider != null ? itemFontProvider.getForeground(object) : null; } }