rem:  if(p.hasChildNodes() && this.canMoveTo(card, p)) ds.push(p); 
add: if(p.hasChildNodes() && p.mayAddCard(card)) ds.push(p); 
context:   addHintsFor: function(card) {    if(!card) return;    var ds = [];    const ps = this.piles, num = ps.length;    for(var i = 0; i != num; i++) {      var p = ps[i];      // xxx would use canMoveToPile() but that bypasses FreeCell/Towers's movePossible(...)      if(p.hasChildNodes() && this.canMoveTo(card, p)) ds.push(p);    }    if(ds.length) this.addHints(card, ds);    this.addFoundationHintsFor(card);  },
meta: 3385	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/3385/05e21043701a5724e2c4368f9cf23b22050e0bda/cardgame.js/clean/cardgame.js