public function loadAction(Request $request, $instance, $homeFolder)
    {
        $loader = $this->get('fm_elfinder.loader');
        $loader->initBridge($instance); // builds up the Bridge object for the loader with the given instance
        if ($loader instanceof ElFinderLoader) {
            $loader->setSession(new ElFinderSession($this->get('session')));
        }
        $httpKernel        = $this->get('http_kernel');
        $preExecutionEvent = new ElFinderPreExecutionEvent($request, $httpKernel, $instance, $homeFolder);
        $this->get('event_dispatcher')->dispatch(ElFinderEvents::PRE_EXECUTION, $preExecutionEvent);

        $result = $loader->load($request); // the instance is already set

        $postExecutionEvent = new ElFinderPostExecutionEvent($request, $httpKernel, $instance, $homeFolder, $result);
        $this->get('event_dispatcher')->dispatch(ElFinderEvents::POST_EXECUTION, $postExecutionEvent);

        // returning result (who may have been modified by a post execution event listener)
        return new JsonResponse($postExecutionEvent->getResult());
    }