protected function public__insert($table_name, array $data_to_insert)
    {
        $pdo = $this->getPDOInstance();
        \ksort($data_to_insert);
        $fieldNames = \implode('`, `', \array_keys($data_to_insert));
        $fieldValues = ':' . \implode(', :', \array_keys($data_to_insert));
        $sqlQuery = "INSERT INTO " . $this->quoteTableName($this->getPrefixedTableName($table_name)) . " (`$fieldNames`) VALUES ($fieldValues)";
        $sth = $pdo->prepare($sqlQuery);
        foreach ($data_to_insert as $key => $value)
        {
            $sth->bindValue(":$key", $value, $this->getPdoType(\gettype($value)));
        }
        $sth->execute();
        return $this->setLastInsertId($pdo->lastInsertId())->getLastInsertId();
    }