protected function execute(InputInterface $input, OutputInterface $output)
    {
        try {
            $this->doPreExecute($input, $output);
            $this->returnCode = $this->doExecute($input, $output);
            $this->doPostExecute($input, $output);
        } catch(Exception $e) {
            $this->returnCode = static::RETURN_ERROR;
            throw $e;
        }

        return $this->returnCode;
    }