////////////////////////////////////////////////////////////////////////////////////////////////////
 /// <summary>   Replace all suitable classes in a hierarchy with ItemisedClasss. </summary>
 /// <remarks>
 ///     The Substitute function walks through a hierarchy of classes substitituting ItemisedClasss for any
 ///     class that looks like an ItemisedClass. This can be a useful shortcut if, for example, you have
 ///     loaded a standard ConfigFile from a file such as mission.sqm which contains classes that
 ///     could be interpreted as ItemisedClasses
 /// </remarks>
 /// <param name="root"> The root of the hierarchy to substitute. </param>
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 public static void Substitute(ConfigClass root)
 {
     _Substitute(root);
 }