{
        EFactory eFactory = (EFactory)theEObject;
        T result = caseEFactory(eFactory);
        if (result == null) result = caseEModelElement(eFactory);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }