    deferred class
    	EV_DOCKABLE_SOURCE

    General
    	cluster: interface
    	description:
    		"Objects that represent source of a dockable transport. The dockable
    		mechanism allows a component to be dragged by a user to an EV_DOCKABLE_TARGET
    		that has been enabled to receive transport.

    		`drop_started_actions' are fired immediately after a transport begins from `Current'.
    		It is not possible to override the transport from within these actions."

    Ancestors
    	EV_ANY*
    	EV_DOCKABLE_SOURCE_ACTION_SEQUENCES*

    Action sequences
    	dock_ended_actions: EV_NOTIFY_ACTION_SEQUENCE
    	dock_started_actions: EV_NOTIFY_ACTION_SEQUENCE

    Queries
    	data: ANY
    	is_destroyed: BOOLEAN
    	is_dockable: BOOLEAN
    	is_external_docking_enabled: BOOLEAN
    	is_external_docking_relative: BOOLEAN
    	is_in_default_state: BOOLEAN
    	parent_of_source_allows_docking: BOOLEAN
    	real_source: EV_DOCKABLE_SOURCE
    	source_has_current_recursive (source: EV_DOCKABLE_SOURCE): BOOLEAN

    Commands
    	copy (other: [like Current] EV_DOCKABLE_SOURCE)
    	destroy
    	disable_dockable
    	disable_external_docking
    	disable_external_docking_relative
    	enable_dockable
    	enable_external_docking
    	enable_external_docking_relative
    	remove_real_source
    	set_data (some_data: [like data] ANY)
    	set_real_source (dockable_source: EV_DOCKABLE_SOURCE)

    Constraints
    	parent permits docking