    deferred class
    	EV_TREE_NODE_LIST_I

    General
    	cluster: implementation_mswin
    	description: "EiffelVision tree-item container. Implementation interface."

    Ancestors
    	EV_ITEM_LIST_I* [reference G -> EV_ITEM]

    Queries
    	count: INTEGER_32
    	cursor: EV_DYNAMIC_LIST_CURSOR [EV_TREE_NODE]
    	find_item_recursively_by_data (data: ANY): EV_TREE_NODE
    	has (v: [like item] EV_TREE_NODE): BOOLEAN
    	has_recursively (an_item: [like item] EV_TREE_NODE): BOOLEAN
    	i_th (i: INTEGER_32): EV_TREE_NODE
    	index: INTEGER_32
    	index_of (v: [like item] EV_TREE_NODE; i: INTEGER_32): INTEGER_32
    	item: EV_TREE_NODE
    	item_by_data (data: ANY): [like item] EV_TREE_NODE
    	off: BOOLEAN
    	retrieve_item_by_data (data: ANY; should_compare_objects: BOOLEAN): EV_TREE_NODE
    	retrieve_item_recursively_by_data (data: ANY; should_compare_objects: BOOLEAN): EV_TREE_NODE
    	retrieve_items_by_data (data: ANY; should_compare_objects: BOOLEAN): ARRAYED_LIST [EV_TREE_NODE]
    	retrieve_items_recursively_by_data (data: ANY; should_compare_objects: BOOLEAN): ARRAYED_LIST [EV_TREE_NODE]
    	valid_cursor (p: CURSOR): BOOLEAN

    Commands
    	append (s: SEQUENCE [EV_TREE_NODE])
    	back
    	extend (v: [like item] EV_TREE_NODE)
    	forth
    	go_i_th (i: INTEGER_32)
    	go_to (p: CURSOR)
    	merge_left (other: [like interface] EV_ITEM_LIST [EV_TREE_NODE])
    	merge_right (other: [like interface] EV_ITEM_LIST [EV_TREE_NODE])
    	move (i: INTEGER_32)
    	prune (v: [like item] EV_TREE_NODE)
    	put_front (v: [like item] EV_TREE_NODE)
    	put_i_th (v: [like item] EV_TREE_NODE; i: INTEGER_32)
    	put_left (v: [like item] EV_TREE_NODE)
    	put_right (v: [like item] EV_TREE_NODE)
    	recursive_do_all (action: PROCEDURE [ANY, TUPLE [EV_TREE_NODE]])
    	remove
    	remove_left
    	remove_right
    	replace (v: [like item] EV_TREE_NODE)
    	start
    	wipe_out