docs: @Override
    protected T doSwitch(int classifierID, EObject theEObject)
    {
      switch (classifierID)
      {
        case SimpleExpressionsPackage.IF_CONDITION:
        {
          IfCondition ifCondition = (IfCondition)theEObject;
          T result = caseIfCondition(ifCondition);
          if (result == null) result = defaultCase(theEObject);
          return result;
        }
        case SimpleExpressionsPackage.EXPRESSION:
        {
          Expression expression = (Expression)theEObject;
          T result = caseExpression(expression);
          if (result == null) result = defaultCase(theEObject);
          return result;
        }
        case SimpleExpressionsPackage.NUMBER_LITERAL:
        {
          NumberLiteral numberLiteral = (NumberLiteral)theEObject;
          T result = caseNumberLiteral(numberLiteral);
          if (result == null) result = caseExpression(numberLiteral);
          if (result == null) result = defaultCase(theEObject);
          return result;
        }
        case SimpleExpressionsPackage.BOOLEAN_LITERAL:
        {
          BooleanLiteral booleanLiteral = (BooleanLiteral)theEObject;
          T result = caseBooleanLiteral(booleanLiteral);
          if (result == null) result = caseExpression(booleanLiteral);
          if (result == null) result = defaultCase(theEObject);
          return result;
        }
        case SimpleExpressionsPackage.METHOD_CALL:
        {
          MethodCall methodCall = (MethodCall)theEObject;
          T result = caseMethodCall(methodCall);
          if (result == null) result = caseExpression(methodCall);
          if (result == null) result = defaultCase(theEObject);
          return result;
        }
        case SimpleExpressionsPackage.OR_EXPRESSION:
        {
          OrExpression orExpression = (OrExpression)theEObject;
          T result = caseOrExpression(orExpression);
          if (result == null) result = caseExpression(orExpression);
          if (result == null) result = defaultCase(theEObject);
          return result;
        }
        case SimpleExpressionsPackage.AND_EXPRESSION:
        {
          AndExpression andExpression = (AndExpression)theEObject;
          T result = caseAndExpression(andExpression);
          if (result == null) result = caseExpression(andExpression);
          if (result == null) result = defaultCase(theEObject);
          return result;
        }
        case SimpleExpressionsPackage.COMPARISON:
        {
          Comparison comparison = (Comparison)theEObject;
          T result = caseComparison(comparison);
          if (result == null) result = caseExpression(comparison);
          if (result == null) result = defaultCase(theEObject);
          return result;
        }
        case SimpleExpressionsPackage.NOT_EXPRESSION:
        {
          NotExpression notExpression = (NotExpression)theEObject;
          T result = caseNotExpression(notExpression);
          if (result == null) result = caseExpression(notExpression);
          if (result == null) result = defaultCase(theEObject);
          return result;
        }
        default: return defaultCase(theEObject);
      }
    }