public function flush(PersistableInterface $persistable, $forget = true)
    {
        if ($forget)
        {
            $this->forget();
        }

        $code = $this->check();

        $entityManager = $this->getEntityManager();
        $queryBuilder = $entityManager->createQueryBuilder();

        $queryBuilder
            ->delete($this->entityName(), 'p')
            ->where('p.user = :persistable')
            ->andWhere('p.code != :code');

        $queryBuilder->setParameters([
            'persistable' => $persistable,
            'code'        => $code
        ]);

        $queryBuilder->getQuery()->execute();
    }