protected function parseFromReflectionByRange(ReflectionClass $reflection, $range)
    {
        $dependencies = [];

        switch ($range) {
            case self::RANGE_CLASS:
                $dependencies = array_merge($dependencies, $this->parseFromClassComment($reflection));
                break;

            case self::RANGE_METHODS:
                $dependencies = array_merge($dependencies, $this->parseFromClassMethods($reflection));
                break;

            case self::RANGE_PROPERTIES:
                $dependencies = array_merge($dependencies, $this->parseFromClassProperties($reflection));
                break;

            case self::RANGE_SINGLE_ELEMENT:
                throw new Doozr_Di_Exception(
                    'Parsing from single element not implemented yet!'
                );
                break;

            default:
            case self::RANGE_EVERYTHING:
                $dependencies = array_merge($dependencies, $this->parseFromClassComment($reflection));
                $dependencies = array_merge($dependencies, $this->parseFromClassMethods($reflection));
                $dependencies = array_merge($dependencies, $this->parseFromClassProperties($reflection));
                break;
        }

        return $dependencies;
    }