public object Commit(string messagename, params object[] p)
{
MessageDefinition definition = MessagingManager.Read(MessageDefinitionType.Xml, messagename);
if (definition.Records.Count == 0)
throw new MessagingException("Empty message definition.");
var lines = new List<string>();
if (definition.HasHeader)
lines.Add(ConstructHeader(definition.Records[0]));
var internalStates = p[0] as IEnumerable<IInternalState>;
if (internalStates != null)
lines.AddRange(internalStates.Select(state => CreateLine(definition.Records[0], state)));
return Encoding.UTF8.GetBytes(string.Join("\r\n", lines));
}