}
/* TODO This is a Workaround until Eclipse Bug #159586 is fixed */
private void stableSetInputToNewsTable(Object input, ISelection oldSelection) {
TreeViewer viewer = fNewsTableControl.getViewer();
Tree tree = (Tree) viewer.getControl();
/* Set Input & Restore Selection with redraw false */
tree.getParent().setRedraw(false);
try {
fNewsTableControl.setPartInput(input);
/* Restore selection if required */
if (oldSelection != null) {
fNewsTableControl.setBlockNewsStateTracker(true);
try {
viewer.setSelection(oldSelection);
} finally {
fNewsTableControl.setBlockNewsStateTracker(false);
}
}
/* Set Top Item */
if (tree.getItemCount() > 0)
tree.setTopItem(tree.getItem(0));
} finally {
tree.getParent().setRedraw(true);
}
}