public function hasRange($arr)
    {
        self::mustBeArrayOrHash($arr);
        $arr = self::toSimpleArray($arr);
        
        if(empty($arr)){
            throw new \RuntimeException(
                'Cannot used empty range to detect it into collection!'
            );
        }
            
        if(count($arr) > count($this->value)){
            return false;
        }

        $arr_idx = array();

        foreach($this->value as $k => $v){
            if($v === $arr[0]){
                $arr_idx[] = $k;
            }
        }

        if(count($arr_idx) == 0){
            return false;
        } else {
            foreach($arr_idx as $idx){
                $j = 1;
                $cnt = (count($arr) + $idx);
                for($i = $idx + 1; $i < $cnt; $i++){
                    if(!array_key_exists($i, $this->value)){
                        return false;
                    }
                    
                    if($this->value[$i] !== $arr[$j]){
                        return false;
                    }

                    $j++;
                }

                return true;
            }
        }

        return false;
    }