@Override
 public Expression caseExpression_String(Expression_String object) {
   String value = object.getValue();
   if (value == null || value.isEmpty()) {
     return EngineExpressionUtil.createConstantExpression(
         "<empty-string>", "", String.class.getName());
   }
   return EngineExpressionUtil.createConstantExpression(value, value, String.class.getName());
 }
 /** Constraint: value=STRING */
 protected void sequence_Expression_String(EObject context, Expression_String semanticObject) {
   if (errorAcceptor != null) {
     if (transientValues.isValueTransient(
             semanticObject, ConditionModelPackage.Literals.EXPRESSION_STRING__VALUE)
         == ValueTransient.YES)
       errorAcceptor.accept(
           diagnosticProvider.createFeatureValueMissing(
               semanticObject, ConditionModelPackage.Literals.EXPRESSION_STRING__VALUE));
   }
   INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
   SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
   feeder.accept(
       grammarAccess.getExpression_StringAccess().getValueSTRINGTerminalRuleCall_1_0(),
       semanticObject.getValue());
   feeder.finish();
 }