{
        ETypedElement eTypedElement = (ETypedElement)theEObject;
        T result = caseETypedElement(eTypedElement);
        if (result == null) result = caseENamedElement(eTypedElement);
        if (result == null) result = caseEModelElement(eTypedElement);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }