Section Header
    + name := ABSTRACT_DIRECTORY;
    - comment := "Basic Directory management";
Section Inherit
    + parent_entry:ENTRY :=
Section ENTRY
    + list:LINKED_LIST[ENTRY];
Section Public
Update.
    - refresh:BOOLEAN <-
Indexing.
    - lower:INTEGER :=
        Minimum index.
    - upper:INTEGER <-
        Maximum index.
    - valid_index index:INTEGER :BOOLEAN <-
        True when `index' is valid (ie. inside actual
        bounds of the collection).
Counting.
    - count:INTEGER <-
        Number of available indices.
    - is_empty:BOOLEAN <-
        Is collection empty ?
Accessing.
    - item i:INTEGER :ENTRY <-
        Item at the corresponding index `i'.
    - first:ENTRY <-
        The very `first' item.
    - last:ENTRY <-
        The `last' item.
    - has e:ENTRY :BOOLEAN <-
    - index_of e:ENTRY :INTEGER <-
    + parent:ENTRY;
    - this:ENTRY <-
Writing:
    - make_directory n:ABSTRACT_STRING :ENTRY <-
    - make_file n:ABSTRACT_STRING :ENTRY <-
Get new Entry.
    - get new_path:ABSTRACT_STRING :ENTRY <-
Rename
    - no_error:INTEGER :=
    - error_source:INTEGER :=
    - error_destination:INTEGER :=
    - error_extern:INTEGER :=
    - move src:ABSTRACT_STRING with dst:ABSTRACT_STRING :INTEGER <-
    - print <-
Section ENTRY
    - make e:ENTRY :BOOLEAN <-