public function find($glob, $not_exists = false)
    {
        $files = new FileSystem\Iterator\SimpleListIterator();

        // is absolute path
        if ($glob[0] === '/') {
            $matches = glob($glob);
            foreach ($matches as $path) {
                $file = $this->pathToEntity($path);
                $files->add($file);
            }

            if (! $files->size() && $not_exists) {
                $files->add(new FileSystem\File($glob));
            }

            return $files;
        }

        $first = null;
        foreach ($this->app->config('directory.apps') as $app) {
            if (! $first) $first = $app['dir'] . DS . $glob;

            $matches = glob($app['dir'] . DS . $glob);
            foreach ($matches as $path) {
                $file = $this->pathToEntity($path);
                $files->add($file);
            }
        }
        
        if (! $files->size() && $not_exists) {
            $files->add(new FileSystem\File($first));
        }

        return $files;
    }