Da Delphi keine Generics unterstütz(te) passiert folgendes:
In der Mitte wird die templae Datei mittels $Include eingebunden.
In der Datei wird eine typisierte Collection von dem Typ "_COLLECTION_" erstellt, die genau auf den Typ "_COLLECTION_ITEM_" abgestimmt ist. Dadurch brauchst
dcu später nicht mehr casten.
Jetzt definiertst du erstmal deine Klasse. Anschließend gibst du ihr den Alias "_COLLECTION_ITEM_"
Jetzt wird das Template eingebunden, das zu dieser Klasse eine Collection definiert. Danach erzeugst du wieder einen Alias für die Collection.
Ein Alias ist ein anderer Name für den selben Typen. Du kannst also über 2 Namen auf den gleichen Typ zugreifen