既存パースペクティブのビューの強制更新

StCategoryで、カテゴリを選ぶとMembersまたはOutline(次バージョンでサポート)を再表示する必要があります。表示時の絞り込みは、Filterをplugin.xmlで設定しているので問題ないのですが、任意に再表示させる方法が見つかりません。
とりあえず現状では、こんな感じ。

public class CategoriesView extends ViewPart ...

private void refreshOutlineViewer() {
    IWorkbench workbench = PlatformUI.getWorkbench();
    IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
    IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
    IEditorPart editorPart = workbenchPage.getActiveEditor();
    IEditorInput editorInput = editorPart.getEditorInput();
    Object adapter = editorInput.getAdapter(IJavaElement.class);
    if (!(adapter instanceof IJavaElement)) {
            return;
    }
    IJavaElement javaElement = (IJavaElement) adapter;
    JavaOutlinePage outlinePage = (JavaOutlinePage) editorPart
        .getAdapter(IContentOutlinePage.class);
    outlinePage.setInput(javaElement);
}

private void refreshMembersViewer() {
    StructuredViewer membersViewer = null;
    IViewPart view = getViewSite().getPage().findView(
        "org.eclipse.jdt.ui.MembersView");
    if (view != null) {
        try {
            Method method = view.getClass().getSuperclass()
                .getDeclaredMethod("getViewer", null);
            method.setAccessible(true);
            membersViewer = (StructuredViewer) method.invoke(view, null);
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
    }
    if (membersViewer != null) {
        membersViewer.refresh();
    }
}

とても強引な方法で再表示させています。なんか良い方法はあるのだろうか?