Bug 95844 [Contributions] Unsafe setRedraw() in ToolbarManager.update
This code should protect itself by wrapping the code in a try{} finally{} to ensure the setRedraw(true) happens when it is done.
bundles/org.eclipse.jface/src/org/eclipse/jface/action/ToolBarManager.java
separator = ci;
					} else {
						if (separator != null) {
							if (clean.size() > 0) 
								clean.add(separator);
							separator = null;
						}
						clean.add(ci);
					}
				}
				
				
				
				
				
				ToolItem[] mi = toolBar.getItems();
				ArrayList toRemove = new ArrayList(mi.length);
				for (int i = 0; i < mi.length; i++) {
					Object data = mi[i].getData();
					if (data == null
							|| !clean.contains(data)
							|| (data instanceof IContributionItem && ((IContributionItem) data)
									.isDynamic())) {
						toRemove.add(mi[i]);
					}
				}