Is there anyway to remove a "gone" child?

Is there anyway to remove a “gone” child? I mean, after using “addChild” to add some stuff to the stage and change the reference afterwards.

See the code below, shapeA is gone, so there is no way to find it back?

package {
  import flash.display.Shape;
  import flash.display.Sprite;

  public class DummyProject extends Sprite
  {
    private var shapeA:Shape;
    private var shapeB:Shape;
    public function DummyProject()
    {
      shapeA = new Shape();
      shapeB = new Shape();
      shapeA.graphics.beginFill(0,1);
      shapeA.graphics.drawRect(20,20,20,20);
      shapeA.graphics.endFill();
      shapeB.graphics.beginFill(0,.5);
      shapeB.graphics.drawRect(20,40,20,20);
      shapeB.graphics.endFill();
      shapeA.name = "a";
      shapeB.name = "b";
      addChild(shapeA);
      addChild(shapeB);
      shapeB = shapeA;
      trace(shapeB.name);
      shapeB.x = 40;
      addChild(shapeB);
      removeChild(shapeB);
      [COLOR="Red"]removeChild(shapeA);// This is not working since shapeA is already removed after shapeB = shapeA and removeChild(shapeB)[/COLOR]
    }
  }
}