/* Trigger a reload if this is the first time open or previously erroneous open */
if (mark instanceof IBookMark) {
IBookMark bookmark = (IBookMark) mark;
if ((bookmark.getLastVisitDate() == null || bookmark.isErrorLoading()) && !fContentProvider.hasCachedNews())
new ReloadTypesAction(new StructuredSelection(mark), getEditorSite().getShell()).run();
}
/* Trigger reload of not loaded included Bookmarks */
else if (mark instanceof FolderNewsMark) {
IFolder folder = ((FolderNewsMark) mark).getFolder();
List<IBookMark> bookMarksToReload = new ArrayList<IBookMark>();
fillBookMarksToReload(bookMarksToReload, folder);
if (!bookMarksToReload.isEmpty())
new ReloadTypesAction(new StructuredSelection(bookMarksToReload.toArray()), getEditorSite().getShell()).run();
}
/* Mark the Bookmark as visited */
if (mark instanceof IBookMark)
DynamicDAO.getDAO(IBookMarkDAO.class).visited((IBookMark) mark);