public function locate($file, $first = true)
    {
        $paths = array();

        foreach ($this->locators as $locator) {
            if (null !== ($found = $locator->locate($file, $first))) {
                if ($first) {
                    return $found;
                }

                $paths = array_merge($paths, $found);
            }
        }

        return $first ? null : array_values(array_unique($paths));
    }