private List<ZoneLogic> overlappedRooms(ZoneLogic zone) { List<ZoneLogic> overlapped = new ArrayList<ZoneLogic>(); Area currentZoneArea = new Area(TopologyUtils.convertToAWT(zone.getPojo().getShape())); for (Room r : currEnv.getRooms()) { if (!r.equals(selectedZone)) { Shape testZoneShape = TopologyUtils.convertToAWT(r.getPojo().getShape()); Area testArea = new Area(testZoneShape); testArea.intersect(currentZoneArea); if (!testArea.isEmpty()) { overlapped.add(r); } } } return overlapped; }