@Override
 public IEObjectConsumer tryConsume() {
   if ((value = eObjectConsumer.getConsumable("properties", false)) == null) return null;
   IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("properties");
   if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
     IEObjectConsumer param = createEObjectConsumer((EObject) value);
     if (param.isInstanceOf(grammarAccess.getPropertyRule().getType().getClassifier())) {
       type = AssignmentType.PARSER_RULE_CALL;
       element = grammarAccess.getEntityAccess().getPropertiesPropertyParserRuleCall_3_0();
       consumed = obj;
       return param;
     }
   }
   return null;
 }
 @Override
 public IEObjectConsumer tryConsume() {
   if ((value = eObjectConsumer.getConsumable("type", true)) == null) return null;
   IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
   if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
     IEObjectConsumer param = createEObjectConsumer((EObject) value);
     if (param.isInstanceOf(
         grammarAccess
             .getPropertyAccess()
             .getTypeTypeCrossReference_0_0()
             .getType()
             .getClassifier())) {
       type = AssignmentType.CROSS_REFERENCE;
       element = grammarAccess.getPropertyAccess().getTypeTypeCrossReference_0_0();
       return obj;
     }
   }
   return null;
 }