public function preview(SS_HTTPRequest $request)
    {
        $file = File::get()
            ->byID($request->param('FileID'));
        if (!$file) {
            return "file not found";
        }
        //TODO: validate file?
        $mapper = new CSVFieldMapper($file->getFullPath());
        $mapper->setMappableCols($this->getMappableColumns());
        //load previously stored values
        if ($cachedmapping = $this->getCachedMapping()) {
            $mapper->loadDataFrom($cachedmapping);
        }

        $form = $this->MapperForm();
        $form->Fields()->unshift(
            new LiteralField('mapperfield', $mapper->forTemplate())
        );
        $form->Fields()->push(new HiddenField("BackURL", "BackURL", $this->getBackURL($request)));
        $form->setFormAction($this->Link('import').'/'.$file->ID);
        $content = ArrayData::create(array(
            'File' => $file,
            'MapperForm'=> $form
        ))->renderWith('GridFieldImporter_preview');
        $controller = $this->getToplevelController();

        return $controller->customise(array(
            'Content' => $content
        ));
    }