rem: if(pile) return pile; 
add: if(pile && pile.mayAddCard(card)) return pile; 
context:   getBestMoveForCard: function(card) {    var up = card.up;    if(up) {      var upp = up.parentNode;      if(upp.isNormalPile && !up.nextSibling && this.movePossible(card, upp)) return upp;    } else {      var p = card.parentNode, pile = p.isNormalPile ? findEmpty(p.surrounding) : this.firstEmptyPile;      if(pile) return pile;    }    return card.nextSibling ? null : this.emptyCell;  },
meta: 3385	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/3385/05e21043701a5724e2c4368f9cf23b22050e0bda/towers.js/clean/towers.js