class_docstr: A helper class that represents input string that to be modified.
  
  Text that Sample contains parsed in data set,
  ``TextField`` provides multiple methods for Sample to modify.
  
  Support sentence level and word level modification,
  default using word level API.
docstr: Swap items between first_index and second_index of origin_list
  
  :param int first_index: index of first item
  :param int second_index: index of second item
  :return:  Modified TextField object.
docstr_tok: ["Swap","items","between","first_index","and","second_index","of","origin_list",":","param","int","first_index",":","index","of","first","item",":","param","int","second_index",":","index","of","second","item",":","return",":","Modified","TextField","object","."]
code: def swap_at_index(self, first_index, second_index):
      r"""
      Swap items between first_index and second_index of origin_list
  
      :param int first_index: index of first item
      :param int second_index: index of second item
      :return:  Modified TextField object.
  
      """
      mask_value = replace_at_scopes(
          self.mask, [first_index, second_index], [MODIFIED_MASK] * 2
      )
      field_value = swap_at_index(self.words, first_index, second_index)
  
      return self.new_field(field_value, mask=mask_value)
  
imports: from .field import Field
  from ....common.utils.list_op import *
  from ....common.preprocess.en_processor import EnProcessor
  from ....common.settings import ORIGIN, TASK_MASK, MODIFIED_MASK
label_desc: Use image node_id 17 for calling the TextField obj's underlying member method code with example usage: obj.swap_at_index(first_index, second_index) and returns: self