Buggy code:
public class ClientPlugin extends AbstractUIPlugin implements ClientPluginConstants { public static final String PLUGIN_ID = "org.eclipse.ecf.example.collab" ; private static ClientPlugin plugin ; private ResourceBundle resourceBundle ; private static URL pluginLocation ; private ImageRegistry registry = null ; private FontRegistry fontRegistry = null ; private ServerStartup serverStartup = null ; private DiscoveryStartup discoveryStartup = null ; public static final String TCPSERVER_DISCOVERY_TYPE = "_ecftcp._tcp.local." ; protected static String [ ] serviceTypes = new String [ ] { ClientPlugin . TCPSERVER_DISCOVERY_TYPE } ; public static URL getPluginTopLocation ( ) { } public static void log ( String message ) { } public static void log ( String message , Throwable e ) { } public ClientPlugin ( ) { } protected IDiscoveryController getDiscoveryController ( ) { } protected void setPreferenceDefaults ( ) { } public void start ( BundleContext context ) throws Exception { } public synchronized void initDiscovery ( ) throws Exception { } public synchronized void initServer ( ) throws Exception { } public synchronized void registerServers ( ) { } public synchronized boolean isDiscoveryActive ( ) { } public synchronized boolean isServerActive ( ) { } public synchronized void disposeDiscovery ( ) { } public synchronized void disposeServer ( ) { } public void stop ( BundleContext context ) throws Exception { } public FontRegistry getFontRegistry ( ) { } public Shell getActiveShell ( ) { } protected ImageRegistry createImageRegistry ( ) { registry = super . createImageRegistry ( ) ; registry . put ( DECORATION_PROJECT , PlatformUI . getWorkbench ( ) . getSharedImages ( ) . getImage ( IMG_OBJ_FOLDER ) ) ; <START_BUG> registry . put ( DECORATION_USER , AbstractUIPlugin . imageDescriptorFromPlugin ( "org.eclipse.ecf.example.collab" , "icons//presence_member.gif" ) . createImage ( ) ) ; <END_BUG> registry . put ( DECORATION_TIME , PlatformUI . getWorkbench ( ) . getSharedImages ( ) . getImage ( IMG_TOOL_FORWARD ) ) ; registry . put ( DECORATION_TASK , PlatformUI . getWorkbench ( ) . getSharedImages ( ) . getImage ( IMG_OBJ_ELEMENT ) ) ; registry . put ( DECORATION_SEND , PlatformUI . getWorkbench ( ) . getSharedImages ( ) . getImage ( IMG_TOOL_UNDO ) ) ; registry . put ( DECORATION_RECEIVE , PlatformUI . getWorkbench ( ) . getSharedImages ( ) . getImage ( IMG_TOOL_REDO ) ) ; registry . put ( DECORATION_PRIVATE , PlatformUI . getWorkbench ( ) . getSharedImages ( ) . getImage ( IMG_OBJS_WARN_TSK ) ) ; registry . put ( DECORATION_SYSTEM_MESSAGE , PlatformUI . getWorkbench ( ) . getSharedImages ( ) . getImage ( IMG_OBJS_INFO_TSK ) ) ; registry . put ( DECORATION_DEFAULT_PROVIDER , AbstractUIPlugin . imageDescriptorFromPlugin ( "org.eclipse.ecf.example.collab" , "icons//default_provider_image.gif" ) . createImage ( ) ) ; return registry ; } public static ClientPlugin getDefault ( ) { } public static String getResourceString ( String key ) { } public ResourceBundle getResourceBundle ( ) { } }

Fix:
registry . put ( DECORATION_USER , AbstractUIPlugin . imageDescriptorFromPlugin ( "org.eclipse.ecf.example.collab" , "icons//buddy_available.gif" ) . createImage ( ) ) ;