{
        EPackage ePackage = (EPackage)theEObject;
        T result = caseEPackage(ePackage);
        if (result == null) result = caseENamedElement(ePackage);
        if (result == null) result = caseEModelElement(ePackage);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }