private function tryLoadClass($className, $file)
    {
        if ($this->isLoaded($className)) {
            return true;
        }
        $this->logger->debug(
            'Trying to load {class} (should be located in file {file}).',
            array('class' => $className, 'file' => $file)
        );

        try {
            $this->loader->loadClass($className);
            if (!$this->loader->isClassFromFile($className, $file)) {
                $this->logger->warning(
                    '{class} was loaded from {realFile} (should be located in file {file}).',
                    array(
                        'class' => $className,
                        'file' => $file,
                        'realFile' => $this->loader->getFileDeclaringClass($className)
                    )
                );
            }

            return true;
        } catch (ClassNotFoundException $exception) {
            $this->logger->error(
                'The autoloader could not load {class} (should be located in file {file}).',
                array('class' => $className, 'file' => $file)
            );
        } catch (\ErrorException $exception) {
            $this->logger->error(
                'Loading class {class}  failed with reason: {error}.',
                array('class' => $className, 'error' => $exception->getMessage())
            );
        }

        return false;
    }