Flash AS3 - How to find Display Object instance location on runtime

[EN] An easy way to find where’s located an instance of a Display Object (MovieClip, Sprite, etc)
Sometimes you don’t know what is inside what, mostly when you are dealing with another people’s code and you need to make a minor change.
Here’s a simple solution:

[ES] Una forma facil de encontrar una instancia de un Display Object (MovieClip, Sprite, etc)
Algunas veces no sabemos quien se encuentra dentro de quien, principalmente cuando trabajamos con codigo de otras personas y solo necesitamos hacer un cambio menor.
Aqui hay una solucion simple:

================


// ------------ Display Object Path ---------------- //
import flash.display.DisplayObject;
import flash.events.MouseEvent;
var DOPathStr:String = "";
function DOPath(e:DisplayObject) : void {
    try {
        var mc:DisplayObject = e.parent as DisplayObject;
        if (mc.name != null){
            DOPathStr = (DOPathStr.length > 1) ? "["+mc.name+"]"+DOPathStr : "["+e.name+"]";
        }
        DOPath(mc);
    }
    catch(er:Error) {
        trace("DOPath: " + DOPathStr);
        DOPathStr = "";
    }
}
function who(e:MouseEvent) : void {
    var mc:DisplayObject = e.target as DisplayObject;
    DOPath(mc);
}

stage.addEventListener(MouseEvent.CLICK, who);
// ------------ Display Object Path ---------------- //

================

[EN] As always, this code could be improved a bit or a lot.
Regards

[ES] Como siempre, el codigo se puede mejorar un poco o mucho.
Saludos