/// <summary>
 /// Constructor to use when creating a RoslynDom from scratch
 /// </summary>
 /// <param name="name">
 /// Name of the type. If it's a qualified name, output checks in factories will
 /// probably simplify
 /// <br />
 /// In the case of language aliases, please enter the framework name because RoslynDom
 /// is language independent and direct tree creation does not depend on a language. For
 /// example, enter "System.String" not "string" and "System.Int32", not "int"
 /// </param>
 /// <param name="displayAlias">
 /// When using a type that you wish to display as a language alias, enter true.
 /// Otherwise this is ignored
 /// </param>
 /// <param name="isArray">
 /// Supply true if the type is an array
 /// </param>
 /// <param name="typeArgs">
 /// Type arguments for the type being created
 /// </param>
 public RDomReferencedType(IDom parent, string name, bool displayAlias = false, bool isArray = false,
                           params IReferencedType[] typeArgs)
     : this(null, parent, null)
 {
     _name         = StringUtilities.NameFromQualifiedName(name);
     _namespace    = StringUtilities.NamespaceFromQualifiedName(name);
     _displayAlias = displayAlias;
     _isArray      = isArray;
     TypeArguments.AddOrMoveRange(typeArgs);
 }