final MenuManager menuManager = new MenuManager();
menuManager.setRemoveAllWhenShown(true); // we are going to generate
menuManager.addMenuListener( new IMenuListener() {
public void menuAboutToShow(IMenuManager manager) {
Appropriate current = null;
for( ExpressionViewerFactory factory : ExpressionViewerFactory.factoryList( getInput(), getExpression() ) ){
int currentScore = factory.score(getInput(), getExpression() );
Appropriate category = Appropriate.valueOf( currentScore );
if( current == null ){
current = category;
}
else if( current != category ){
menuManager.add( new Separator( current.name() ));