code: def _iterate_subsequences(self, tokens):
          
          for start_idx in xrange(len(tokens)):
              for end_idx in xrange(start_idx + 1, len(tokens) + 1):
                  yield ' '.join(tokens[start_idx:end_idx]), start_idx
docs: Using regex invokes this function, which significantly impacts performance of adapt. it is an N! operation.
  
          Args:
              tokens(list): list of tokens for Yield results.
  
          Yields:
              str: ?