AbstractDockItem Insert(string uri) { if (uri == null) { throw new ArgumentNullException("uri"); } if (items.ContainsKey(uri)) { return(null); } AbstractDockItem item; try { if (uri.EndsWith(".desktop")) { item = ApplicationDockItem.NewFromUri(uri); } else { item = FileDockItem.NewFromUri(uri); } } catch (Exception e) { Log <FileApplicationProvider> .Debug(e.Message); Log <FileApplicationProvider> .Debug(e.StackTrace); item = null; } if (item == null) { return(null); } items[uri] = item; Items = InternalItems; UpdateTransientItems(); return(item); }