Adobe JSX: 非表示のレイヤーを削除

var document;
 
function run() {
    document = app.activeDocument;
    
    start();
    
    return "やっつけました!";
}

function start() {
    checkVisiblity(document.layers);
}

function checkVisiblity(obj){
    var i;
    switch( obj.typename ) {
        //case "LayerSets":
        case "Layers":
            var visiblities = [];
            for( i=obj.length-1; i>=0; i--) {
                 checkVisiblity(obj[i]);
            }
            break;
        case "LayerSet":
             if (!obj.visible) {
                 $.writeln(["削除しました:", obj.name, "(グループ)"].join(" "));
                 obj.remove();
                 return false;
             }
         
            for( i=obj.layers.length-1; i>=0; i-- ) {
                checkVisiblity(obj.layers[i]);
            }
            break;
        default:
            if (!obj.visible) {
                 $.writeln(["削除しました:", obj.name, "(レイヤー)"].join(" "));
                 obj.remove();
                 return false;
             }
             break;
    }
}

run();