/**
  * @param Noovias_Cron_Data_CronExpression $data
  * @return string
  * @throws Exception
  */
 protected function calculateMinutes(Noovias_Cron_Data_CronExpression $data)
 {
     $minuteoption = $data->getMinuteOption();
     if ($minuteoption === Noovias_Cron_Data_CronExpression::OPTION_EVERY) {
         return '*';
     }
     if ($minuteoption === Noovias_Cron_Data_CronExpression::OPTION_EVERYX) {
         return '*/' . $data->getEveryXMinutes();
     }
     if ($minuteoption === Noovias_Cron_Data_CronExpression::OPTION_SPECIFY) {
         if (!is_array($data->getSpecifyMinutes())) {
             throw new Noovias_Cron_Exception_CouldNotGenerateCronExpression(self::GENERATION_EXCEPTION_MESSAGE);
         }
         return implode(',', $data->getSpecifyMinutes());
     }
     if ($minuteoption === Noovias_Cron_Data_CronExpression::OPTION_FROMTO) {
         return $data->getFromMinute() . '-' . $data->getToMinute();
     }
     // Throw exception if there was no return yet
     throw new Noovias_Cron_Exception_CouldNotGenerateCronExpression(self::GENERATION_EXCEPTION_MESSAGE);
 }