* @param ConnectionInterface $con the ConnectionInterface connection to use
     * @return mixed           The new primary key.
     * @throws PropelException Any exceptions caught during processing will be
     *                         rethrown wrapped into a PropelException.
     */
    public static function doInsert($criteria, ConnectionInterface $con = null)
    {
        if (null === $con) {
            $con = Propel::getServiceContainer()->getWriteConnection(StructureNodeParentTableMap::DATABASE_NAME);
        }
        if ($criteria instanceof Criteria) {
            $criteria = clone $criteria;
            // rename for clarity
        } else {
            $criteria = $criteria->buildCriteria();
            // build Criteria from StructureNodeParent object
        }
        // Set the correct dbName
        $query = StructureNodeParentQuery::create()->mergeWith($criteria);
        // use transaction because $criteria could contain info
        // for more than one table (I guess, conceivably)
        return $con->transaction(function () use($con, $query) {
            return $query->doInsert($con);
        });
    }
}
// StructureNodeParentTableMap
// This is the static code needed to register the TableMap for this table with the main Propel class.
//
StructureNodeParentTableMap::buildTableMap();