public void save(ProducerInfo info, String messageOnError)
{
try
{
ChromatticSession session = persister.getSession();
final long now = SupportsLastModified.now();
// since we're creating a new ProducerInfo, we need to modify the parent as well
ProducerInfosMapping pims = getProducerInfosMapping(session);
pims.setLastModified(now);
// use ProducerInfosMapping to create a child ProducerInfo node and initialize it
ProducerInfoMapping pim = pims.createProducerInfo(info.getId());
// we first need to persist the ProducerInfoMapping as a child of the ProducerInfosMapping element, using its id as path
String key = session.persist(pims, pim, info.getId());
info.setKey(key);
info.setLastModified(now);
pim.initFrom(info);
persister.closeSession(true);