protected function getDependencies($dependencies, $params = [], $isRoute = false)
    {
        $resolving = [];

        foreach ($dependencies as $dependency) {
            if ($dependency->isDefaultValueAvailable()) {
                $resolving = $this->getDependencyDefaultValue($dependency, $params, $resolving, $isRoute);
            } elseif(isset($params[$dependency->name])) {
                $resolving[] = $params[$dependency->name];
            } else {
                if ($dependency->getClass() === null) {
                    throw new Exception("The [ $" . "{$dependency->name} ] is not instantiable.");
                }

                $className = $dependency->getClass()->name;

                if (!isset($this->resolved[$className])) {
                    $this->resolved[$className] = $this->make($className);
                    $resolving[] = $this->resolved[$className];
                } else {
                    $resolving[] = $this->resolved[$className];
                }
            }
        }

        return $resolving;
    }