if (traverseMode == FIRST_ADDED_ON_TOP) { iterator = targets.listIterator(); while (iterator.hasNext()) { graphic = (OMGraphic) iterator.next();
if (size() != 0) { synchronized (graphics) { if (traverseMode == FIRST_ADDED_ON_TOP) { iterator = targets.listIterator(); while (iterator.hasNext()) { graphic = (OMGraphic) iterator.next();
    protected OMGeometry _getContains(int x, int y) {	java.util.List targets = getTargets();	ListIterator iterator;        OMGeometry graphic, ret = null;	if (traverseMode == FIRST_ADDED_ON_TOP) {	    iterator = targets.listIterator();	    while (iterator.hasNext()) {		graphic = (OMGraphic) iterator.next();		// cannot select a graphic which isn't visible		if (!graphic.isVisible())		    continue;		if (graphic.contains(x, y)) {		    ret = graphic;		    break;		}	    }	} else {	    iterator = targets.listIterator(targets.size());	    while (iterator.hasPrevious()) {		graphic = (OMGraphic) iterator.previous();		// cannot select a graphic which isn't visible		if (!graphic.isVisible())		    continue;		if (graphic.contains(x, y)) {		    ret = graphic;		    break;		}	    }	}	return ret;    }