code: function pickGroup(g, scene, x, y, gx, gy) {
      if (scene.items.length === 0 ||
          scene.bounds && !scene.bounds.contains(gx, gy)) {
        return false;
      }
      var items = scene.items, subscene, group, hit, dx, dy,
          handler = this, i, j;
  
      for (i=items.length; --i>=0;) {
        group = items[i];
        dx = group.x || 0;
        dy = group.y || 0;
  
        g.save();
        g.translate(dx, dy);
        for (j=group.items.length; --j >= 0;) {
          subscene = group.items[j];
          if (subscene.interactive === false) continue;
          hit = handler.pick(subscene, x, y, gx-dx, gy-dy);
          if (hit) {
            g.restore();
            return hit;
          }
        }
        g.restore();
      }
  
      return scene.interactive
        ? pickAll(hitTests.group, g, scene, x, y, gx, gy)
        : false;
    }
docs: hit testing