private void callChangeObserver(FindResults results) throws AWTException { for (Integer n : _changeOb.keySet()) { List<Match> changes = new ArrayList<Match>(); for (int i = 0; i < results.size(); i++) { FindResult r = results.get(i); if (r.getW() * r.getH() >= n) { changes.add(_region.toGlobalCoord(new Match(r, _region.getScreen()))); } } if (changes.size() > 0) { _countc.put(n, _countc.get(n) + 1); SikuliEventChange se = new SikuliEventChange(changes, _region); Object ao = _changeOb.get(n); Observer.addEvent(_cnames.get(n), se); if (ao instanceof SikuliEventObserver) { ((SikuliEventObserver) _changeOb.get(n)).targetChanged(se); } } } }