nodes: 0, module; 1, function_definition; 2, function_name:insert; 3, parameters; 4, block; 5, identifier:self; 6, identifier:item; 7, identifier:low_value; 8, expression_statement; 9, return_statement; 10, comment:"""
          Create a new node and insert it into a sorted list. Calls the item
  duplicator, if any, on the item. If low_value is true, starts searching
  from the start of the list, otherwise searches from the end. Use the item
  comparator, if any, to find where to place the new node. Returns a handle
  to the new node, or NULL if memory was exhausted. Resets the cursor to the
  list head.
          """; 11, call; 12, identifier:c_void_p; 13, argument_list; 14, call; 15, attribute; 16, argument_list; 17, identifier:lib; 18, identifier:zlistx_insert; 19, attribute; 20, identifier:item; 21, identifier:low_value; 22, identifier:self; 23, identifier:_as_parameter_
code: def insert(self, item, low_value):
          """
          Create a new node and insert it into a sorted list. Calls the item
  duplicator, if any, on the item. If low_value is true, starts searching
  from the start of the list, otherwise searches from the end. Use the item
  comparator, if any, to find where to place the new node. Returns a handle
  to the new node, or NULL if memory was exhausted. Resets the cursor to the
  list head.
          """
          return c_void_p(lib.zlistx_insert(self._as_parameter_, item, low_value))