{
final String id = segment.trim();
for( Iterator<PropertyEditorAssistContributor> itr = this.contributors.iterator(); itr.hasNext(); )
{
final PropertyEditorAssistContributor contributor = itr.next();
if( contributor.getId().equals( id ) )
{
itr.remove();
break;
}
}
}
}
final Listener contributorListener = new Listener()
{
@Override
public void handle( final Event event )
{
Display.getDefault().asyncExec
(
new Runnable()
{
public void run()
{
refresh();
}
}
);
}
};
for( PropertyEditorAssistContributor contributor : this.contributors )
{
try
{
contributor.init( this.part );
}
catch( Exception e )
{
Sapphire.service( LoggingService.class ).log( e );
}
contributor.attach( contributorListener );
}
Collections.sort
(
this.contributors,