public function refineCollection($raw, $retainKey = false)
    {
        $refined = [];

        foreach ($raw as $key => $item) {
            if ($retainKey) {
                $this->key = $key;
                $refined[ $key ] = $this->refineItem($item);
            } else {
                $refined[] = $this->refineItem($item);
            }
        }

        return $refined;
    }