Laravel 4: ¿Cómo se resuelven las fachadas?

Tengo una especie de mirar lo que está pasando Laravel 4fachadas bajo el capó.

Tomemos esta Fachada como ejemplo:

File::get(someArgs);

Si no me equivoco, la invocación paso a paso (simplificada) sería:

//static method invocation which are all extended from Facade class
File::__callStatic(get, someArgs)
//returns an instance of FileSystem
File::resolveFacedeInstance('files') 
FileSystem->get(someArgs)

En lo que estoy confundido está en la línea comentada a continuación del métodoArchivo :: resolverFacadeInstance () abajo:

protected static function resolveFacadeInstance($name)
{
    if (is_object($name)) return $name;

    if (isset(static::$resolvedInstance[$name]))
    {
        return static::$resolvedInstance[$name];
    }



    /**
    * The line that i'm confused about
    */

    return static::$resolvedInstance[$name] = static::$app[$name];
}

Mis preguntas son:

Como esArchivo :: $ app incluso inicializado o asignado un valor dentro de la clase de fachada

SiArchivo :: get () es la fachada invocada

static :: $ app [$ nombre] se resolvería según creo que Application ['files'] o Application-> files que a su vez llama a Application -> __ get ('files') ya que no hayarchivos propiedad dentroSolicitud clase.

¿Cómo se devolvería FileSystem Class si esto es solo el contenido de este método?

public function __get($key)
{
    return $this[$key];
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta