protected function _mapIterable($iterable, $callback, $start = null, $count = null, array &$results = null)
    {
        $iterable = $this->_normalizeIterable($iterable);

        $start = is_null($start)
            ? 0
            : $this->_normalizeInt($start);
        $count = is_null($count)
            ? 0
            : $this->_normalizeInt($count);

        $cStop = $count - 1;

        $i = 0; // Current iteration
        $c = 0; // Current count
        foreach ($iterable as $_k => $_v) {
            if ($i < $start) {
                ++$i;
                continue;
            }

            $result = $this->_invokeCallable($callback, [$_v, $_k, $iterable]);

            if (is_array($results)) {
                $results[$_k] = $result;
            }

            if ($c === $cStop) {
                break;
            }
            ++$c;
            ++$i;
        }
    }