public string EmitCommand(object[] tupleValues, long? tupleId= null, long? taskId = null, string streamid = null)
        {
            var result = new OrderedDictionary
            {
                {WellKnownStrings.Command, WellKnownStrings.Emit},
            };

            if (tupleId.HasValue)
            {
                result.Add(WellKnownStrings.Id, tupleId.Value.ToString(CultureInfo.InvariantCulture));
            }

            if (!string.IsNullOrEmpty(streamid))
            {
                result.Add(WellKnownStrings.Stream, streamid);
            }

            if (taskId.HasValue)
            {
                result.Add(WellKnownStrings.Task, taskId.Value);
            }

            result.Add(WellKnownStrings.Tuple, tupleValues);
            return result.ToJson();
        }