public function open($file)
    {
        if (strlen($file) >= 1 && $file[0] == '@') {
            try {
                if ($this->fileLocator instanceof FileLocatorInterface) {
                    $file = $this->fileLocator->locate($file);
                } else {
                    $this->fileLocator->locateResource($file);
                }
            } catch (\InvalidArgumentException $exception) {
                if ($this->throwException || false == $this->fallbackImage) {
                    throw $exception;
                }

                $file = $this->fallbackImage;
            }
        }

        return $this->createInstance($file);
    }