code: def create(self, count):
          
          space, self.space = tee(self.space)
          limit = reduce(mul, map(len, self.sets)) * self.position
          logging.debug('limit: %s', limit)
          if limit >= count:
              return ''.join(islice(space, count))
          else:
              raise IndexError('{count} Overflows {sets}!'.format(
                  count=count, sets=self.sets))
docs: Create a pattern of the specified length.