public string ToString(SceneScriptFragments.Mask <bool>?printMask = null)
            {
                var fg = new FileGeneration();

                ToString(fg, printMask);
                return(fg.ToString());
            }
 public void ToString(FileGeneration fg, SceneScriptFragments.Mask <bool>?printMask = null)
 {
     fg.AppendLine($"{nameof(SceneScriptFragments.Mask<TItem>)} =>");
     fg.AppendLine("[");
     using (new DepthWrapper(fg))
     {
         if ((printMask?.PhaseFragments?.Overall ?? true) &&
             PhaseFragments.TryGet(out var PhaseFragmentsItem))
         {
             fg.AppendLine("PhaseFragments =>");
             fg.AppendLine("[");
             using (new DepthWrapper(fg))
             {
                 fg.AppendItem(PhaseFragmentsItem.Overall);
                 if (PhaseFragmentsItem.Specific != null)
                 {
                     foreach (var subItem in PhaseFragmentsItem.Specific)
                     {
                         fg.AppendLine("[");
                         using (new DepthWrapper(fg))
                         {
                             subItem?.ToString(fg);
                         }
                         fg.AppendLine("]");
                     }
                 }
             }
             fg.AppendLine("]");
         }
     }
     fg.AppendLine("]");
 }
            public new Mask <R> Translate <R>(Func <TItem, R> eval)
            {
                var ret = new SceneScriptFragments.Mask <R>();

                this.Translate_InternalFill(ret, eval);
                return(ret);
            }