private void clearListeners(IPlottingSystem plotSystem, IRegionListener listener) { if (plotSystem == null) return; Collection<IRegion> regions = plotSystem.getRegions(); if (regions != null && regions.size() > 0) { Iterator<IRegion> it = regions.iterator(); while (it.hasNext()) { IRegion region = it.next(); region.removeROIListener(this); } } plotSystem.removeRegionListener(listener); }