'Will open new database (works like create),
if not self.path provided will call initialize()'

def __open_new(self, with_id_index=True, index_kwargs={}):

    if self.path:
        if (not os.path.exists(self.path)):
            self.initialize(self.path)
    if ((not ('id' in self.indexes_names)) and with_id_index):
        import CodernityDB.hash_index
        if (not ('db_path' in index_kwargs)):
            index_kwargs['db_path'] = self.path
        index_kwargs['name'] = 'id'
        id_ind = CodernityDB.hash_index.UniqueHashIndex(**index_kwargs)
        self.add_index(id_ind, create=False)
    for index in self.indexes:
        try:
            index.create_index()
        except IndexException:
            raise DatabaseConflict(('Already    exists    (detected    on    index=%s)' % index.name))
    return True
