{
        EStructuralFeature eStructuralFeature = (EStructuralFeature)theEObject;
        T result = caseEStructuralFeature(eStructuralFeature);
        if (result == null) result = caseETypedElement(eStructuralFeature);
        if (result == null) result = caseENamedElement(eStructuralFeature);
        if (result == null) result = caseEModelElement(eStructuralFeature);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }