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

                ToString(fg, printMask);
                return(fg.ToString());
            }
 public void ToString(FileGeneration fg, SoundLoopAndRumble.Mask <bool>?printMask = null)
 {
     fg.AppendLine($"{nameof(SoundLoopAndRumble.Mask<TItem>)} =>");
     fg.AppendLine("[");
     using (new DepthWrapper(fg))
     {
         if (printMask?.Unknown ?? true)
         {
             fg.AppendItem(Unknown, "Unknown");
         }
         if (printMask?.Loop ?? true)
         {
             fg.AppendItem(Loop, "Loop");
         }
         if (printMask?.Unknown2 ?? true)
         {
             fg.AppendItem(Unknown2, "Unknown2");
         }
         if (printMask?.RumbleValues ?? true)
         {
             fg.AppendItem(RumbleValues, "RumbleValues");
         }
     }
     fg.AppendLine("]");
 }
            public Mask <R> Translate <R>(Func <TItem, R> eval)
            {
                var ret = new SoundLoopAndRumble.Mask <R>();

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