public TypeHandlingContext WithType(IType type)
        {
            var context = new TypeHandlingContext(this)
            {
                Type     = type,
                TypeName = type.GetPresentableName(GeneratorContext.Language)
            };

            return(context);
        }
 public TypeHandlingContext(TypeHandlingContext other)
 {
     ElementFactory   = other.ElementFactory;
     GeneratorContext = other.GeneratorContext;
     Builder          = other.Builder;
     Args             = other.Args;
     Variables        = other.Variables;
     TypeOwner        = other.TypeOwner;
     TypeOwnerName    = other.TypeOwnerName;
     Type             = other.Type;
     TypeName         = other.TypeName;
     SizeVariableKey  = other.SizeVariableKey;
 }