protected function popsCreateInnerIterator()
    {
        if ($this->popsValue() instanceof Iterator) {
            $iterator = $this->popsValue();
        } elseif ($this->popsValue() instanceof IteratorAggregate) {
            $iterator = $this->popsValue()->getIterator();
        } else {
            throw new LogicException(
                'Proxied object is not an instance of Traversable'
            );
        }

        return $iterator;
    }