    class
    	TRANSFER_MANAGER

    General
    	cluster: transfer
    	description: "Managers that control the data transactions"
    	create: make_filled, make

    Ancestors
    	ARRAYED_LIST [G]
    	DATA_RESOURCE_ERROR_CONSTANTS
    	TRANSACTION_CONTAINER* [G -> TRANSACTION]

    Queries
    	after: BOOLEAN
    	before: BOOLEAN
    	changeable_comparison_criterion: BOOLEAN
    	count: INTEGER_32
    	error: BOOLEAN
    	error_reason: STRING_8
    	error_stops: BOOLEAN
    	exhausted: BOOLEAN
    	Extendible: BOOLEAN
    	finished_transactions: INTEGER_32
    	for_all (test: FUNCTION [ANY, TUPLE [TRANSACTION], BOOLEAN]): BOOLEAN
    	full: BOOLEAN
    	has (v: [like transaction] TRANSACTION): BOOLEAN
    	index: INTEGER_32
    	index_of (v: [like transaction] TRANSACTION; i: INTEGER_32): INTEGER_32
    	insertable (t: TRANSACTION): BOOLEAN
    	is_empty: BOOLEAN
    	is_equal (other: [like Current] TRANSFER_MANAGER): BOOLEAN
    	is_inserted (v: TRANSACTION): BOOLEAN
    	linear_representation: LINEAR [TRANSACTION]
    	object_comparison: BOOLEAN
    	occurrences (v: [like transaction] TRANSACTION): INTEGER_32
    	off: BOOLEAN
    	prunable: BOOLEAN
    	readable: BOOLEAN
    	source: DATA_RESOURCE
    	target: DATA_RESOURCE
    	there_exists (test: FUNCTION [ANY, TUPLE [TRANSACTION], BOOLEAN]): BOOLEAN
    	total_count: INTEGER_32
    	transaction: TRANSACTION
    	transactions_succeeded: BOOLEAN
    	transfer_finished: BOOLEAN
    	valid_cursor_index (i: INTEGER_32): BOOLEAN
    	valid_index (i: INTEGER_32): BOOLEAN
    	writable: BOOLEAN

    Commands
    	add_transaction (t: TRANSACTION)
    	append (s: SEQUENCE [TRANSACTION])
    	back
    	compare_objects
    	compare_references
    	continue_on_error
    	copy (other: [like Current] TRANSFER_MANAGER)
    	do_all (action: PROCEDURE [ANY, TUPLE [TRANSACTION]])
    	do_if (action: PROCEDURE [ANY, TUPLE [TRANSACTION]]; test: FUNCTION [ANY, TUPLE [TRANSACTION], BOOLEAN])
    	execute_transaction
    	extend (v: [like transaction] TRANSACTION)
    	fill (other: CONTAINER [TRANSACTION])
    	finish
    	force (v: [like transaction] TRANSACTION)
    	forth
    	prune (v: [like transaction] TRANSACTION)
    	prune_all (v: [like transaction] TRANSACTION)
    	put (v: [like transaction] TRANSACTION)
    	remove
    	remove_transaction (n: INTEGER_32)
    	replace (v: [like first] TRANSACTION)
    	reset_status
    	search (v: [like transaction] TRANSACTION)
    	select_transaction (i: INTEGER_32)
    	start
    	stop_on_error
    	transfer
    	wipe_out

    Constraints
    	finished transaction range