public ProtobufMessages.ActionQueue.Action serialize(MarshallerWriteContext context) {
      ProtobufMessages.ActionQueue.Assert.Builder _assert =
          ProtobufMessages.ActionQueue.Assert.newBuilder();
      _assert
          .setHandleId(this.factHandle.getId())
          .setRemoveLogical(this.removeLogical)
          .setUpdateEqualsMap(this.updateEqualsMap);

      if (this.leftTuple != null) {
        ProtobufMessages.Tuple.Builder _tuple = ProtobufMessages.Tuple.newBuilder();
        for (LeftTuple entry = this.leftTuple; entry != null; entry = entry.getParent()) {
          _tuple.addHandleId(entry.getLastHandle().getId());
        }
        _assert
            .setOriginPkgName(ruleOrigin.getPackageName())
            .setOriginRuleName(ruleOrigin.getName())
            .setTuple(_tuple.build());
      }
      return ProtobufMessages.ActionQueue.Action.newBuilder()
          .setType(ProtobufMessages.ActionQueue.ActionType.ASSERT)
          .setAssert(_assert.build())
          .build();
    }