public GraphicSet getMatchingObjects(GraphicSet elements) { if (this.isEmpty()) { return elements; } GraphicSet result = new GraphicSet(); if (elements == null) { return result; } result.setTransform(elements.getTransform()); for (GraphicObject o : elements) { for (MappingFilter filter : this) { if (filter.matches(o)) { result.add(o); break; } } } return result; }