class_docstr: Instead of marching the sub-matchers along in parallel, this matcher
  pre-reads the scores for a large block of documents at a time from each
  matcher, accumulating the scores in an array.
  
  This is faster than the implementation using a binary tree of
  :class:`~whoosh.matching.binary.UnionMatcher` objects (possibly just
  because of less overhead), but it doesn't allow getting information about
  the "current" document other than the score, because there isn't really a
  current document, just an array of scores.
code: def skip_to(self, docnum):
      if docnum < self._offset:
          # We've already passed it
          return
      elif docnum < self._limit:
          # It's in the current part
          self._docnum = docnum
          self._find_next()
          return
  
      # Advance all active submatchers
      submatchers = self._submatchers
      active = False
      for subm in submatchers:
          if subm.is_active():
              subm.skip_to(docnum)
  
      if any(subm.is_active() for subm in submatchers):
          # Rebuffer
          self._docnum = self._min_id()
          self._read_part()
      else:
          self._docnum = self._doccount
  
imports: from __future__ import division
  from array import array
  from whoosh.compat import xrange
  from whoosh.matching import mcore
label_desc: Use image node_id 10 for calling the ArrayUnionMatcher obj's underlying member method code with example usage: obj.skip_to(docnum) without return types