public function render($values, $as)
    {
        if ($values === null) {
            return $this->renderChildren();
        }
        if ($this->values === null) {
            $this->initializeValues($values);
        }
        if ($this->currentCycleIndex === null || $this->currentCycleIndex >= count($this->values)) {
            $this->currentCycleIndex = 0;
        }

        $currentValue = isset($this->values[$this->currentCycleIndex]) ? $this->values[$this->currentCycleIndex] : null;
        $this->templateVariableContainer->add($as, $currentValue);
        $output = $this->renderChildren();
        $this->templateVariableContainer->remove($as);

        $this->currentCycleIndex++;

        return $output;
    }