public static function doDelete($values, ConnectionInterface $con = null)
     {
        if (null === $con) {
            $con = Propel::getServiceContainer()->getWriteConnection(AtosCurrencyTableMap::DATABASE_NAME);
        }

        if ($values instanceof Criteria) {
            // rename for clarity
            $criteria = $values;
        } elseif ($values instanceof \Atos\Model\AtosCurrency) { // it's a model object
            // create criteria based on pk values
            $criteria = $values->buildPkeyCriteria();
        } else { // it's a primary key, or an array of pks
            $criteria = new Criteria(AtosCurrencyTableMap::DATABASE_NAME);
            $criteria->add(AtosCurrencyTableMap::CODE, (array) $values, Criteria::IN);
        }

        $query = AtosCurrencyQuery::create()->mergeWith($criteria);

        if ($values instanceof Criteria) { AtosCurrencyTableMap::clearInstancePool();
        } elseif (!is_object($values)) { // it's a primary key, or an array of pks
            foreach ((array) $values as $singleval) { AtosCurrencyTableMap::removeInstanceFromPool($singleval);
            }
        }

        return $query->delete($con);
    }