/**
 * Internal function to execute the command.
 *
 * @param   InputInterface   $input   The input to inject into the command.
 * @param   OutputInterface  $output  The output to inject into the command.
 *
 * @return  integer  The command exit code
 *
 * @since   4.0.0
 */
protected function doExecute(InputInterface $input, OutputInterface $output) : int
{
    $symfonyStyle = new SymfonyStyle($input, $output);
    $symfonyStyle->title('Running Session Metadata Garbage Collection');
    $sessionExpire = $this->session->getExpire();
    $this->metadataManager->deletePriorTo(time() - $sessionExpire);
    $symfonyStyle->success('Metadata garbage collection completed.');
    return Command::FAILURE;
}