public class BugzillaContextLabelProvider extends AbstractContextLabelProvider {

	@Override
	protected Image getImage(IMylarElement node) {
		return TaskListImages.getImage(TaskListImages.TASK_REMOTE);
	}

	@Override
	protected Image getImage(IMylarRelation edge) {
		return MylarImages.getImage(MylarBugsPlugin.EDGE_REF_BUGZILLA);
	}