public function getIterator($models = [], $requestedClassPath = '')
    {
        $possiblePath = '';
        if ($requestedClassPath) {
            $possiblePath = $this->iteratorFactory->getDefaultNamespaceAbs($requestedClassPath);
            if (!class_exists($possiblePath)) {
                throw new \Exception("Unable to find iterator '$possiblePath'");
            }
        } else {
            try {
                $possiblePath = $this->iteratorFactory->getDefaultNamespaceAbs('Model\\' . $this->getRelativeClassName());
            } catch (\Exception $e) {
            }
        }
        if (class_exists($possiblePath)) {
            $chosenPath = $possiblePath;
        } else {
            $chosenPath = '\\Mwyatt\\Core\\Iterator\\Model';
        }
        rtrim($chosenPath, '\\');
        return new $chosenPath($models);
    }