When\When::generateTimeOccurrences PHP Method

generateTimeOccurrences() protected method

not happy with this.
protected generateTimeOccurrences ( $dateLooper )
    protected function generateTimeOccurrences($dateLooper)
    {
        $occurrences = array();
        foreach ($this->byhours as $hour) {
            foreach ($this->byminutes as $minute) {
                foreach ($this->byseconds as $second) {
                    $occurrence = clone $dateLooper;
                    $occurrence->setTime($hour, $minute, $second);
                    $occurrences[] = $occurrence;
                }
            }
        }
        return $occurrences;
    }