docs: function(inEvent) {
        var tl = inEvent.touches;
        // pointermap.pointers() should be < tl.length here, as the touchstart has not
        // been processed yet.
        if (pointermap.pointers() >= tl.length) {
          var d = [];
          pointermap.forEach(function(value, key) {
            // Never remove pointerId == 1, which is mouse.
            // Touch identifiers are 2 smaller than their pointerId, which is the
            // index in pointermap.
            if (key !== 1 && !this.findTouch(tl, key - 2)) {
              var p = value;
              d.push(p);
            }
          }, this);
          d.forEach(function(p) {
            this.cancel(p);
            pointermap.delete(p.pointerId);
          }, this);
        }
      }