for (Object o : root.getDiagramEditPart().getChildren()) {
if (o instanceof ShapeNodeEditPart) {
ShapeNodeEditPart s = (ShapeNodeEditPart) o;
// check for shortcut status if necessary
if (!checkShortcut || isShortcut(s) == shortcutRequired) {
EObject obj = s.resolveSemanticElement();
if (objectClass.isInstance(obj)) {
// check containing feature name
ENamedElement e = (ENamedElement) obj;
if (name == null || (e.getName() != null && e.getName().equals(name))) {
if (containingFeature == null || containingFeature.equals(obj.eContainingFeature())) {