>>644
構造的には、全レイヤの exchangeInfo() をよばせようとしてて、
前景レイヤの分は親にまかせてる

if(withchildren) の else 側では自分だけを exchangeInfo() してる

class BaseLayer で function exchangeInfo() を拡張してしまっていて、
これが withchildren の時には余分な処理を含んでいるから 
super.exchangeInfo() として呼んでるんだけど、
呼び出してる箇所はここしかないんだから、拡張せずに else 側の
exchangeInfo() のとこに window.swapBaseLayer() を外だししてしまったほうが
見通しが良いコードな気はする。それなら super. を付ける必要がないわけで

exchangeInfo() でやってるのは、参照したときの整合が取れるよに、
名前とカーソルを表裏でいれかえてるだけで、
トランジションと本質的にはなんら関係ないので、
時前で単体レイヤでなんか処理しようとかの場合はあんま気にしなくてもいい