public VSSettingsGroup(
     Bam.Core.Module module,
     ESettingsGroup group,
     Bam.Core.TokenizedString include = null)
 {
     this.Module  = module;
     this.Group   = group;
     this.Include = include;
     if (null != include)
     {
         this.RelativeDirectory = module.CreateTokenizedString("@trimstart(@relativeto(@dir($(0)),$(packagedir)),../)", include);
     }
     this.Settings = new Bam.Core.Array <VSSetting>();
 }
 public VSSettingsGroup(
     Bam.Core.Module module,
     ESettingsGroup group,
     Bam.Core.TokenizedString include = null)
 {
     this.Module = module;
     this.Group = group;
     this.Include = include;
     if (null != include)
     {
         this.RelativeDirectory = module.CreateTokenizedString("@trimstart(@relativeto(@dir($(0)),$(packagedir)),../)", include);
     }
     this.Settings = new Bam.Core.Array<VSSetting>();
 }
 public VSSettingsGroup(
     VSProject project,
     Bam.Core.Module module,
     ESettingsGroup group,
     Bam.Core.TokenizedString include = null)
 {
     this.Project = project;
     this.Module  = module;
     this.Group   = group;
     this.Include = include;
     if (null != include)
     {
         this.RelativeDirectory = module.CreateTokenizedString("@trimstart(@relativeto(@dir($(0)),$(packagedir)),../)", include);
         lock (this.RelativeDirectory)
         {
             if (!this.RelativeDirectory.IsParsed)
             {
                 // may have been parsed already, e.g. a common header
                 this.RelativeDirectory.Parse();
             }
         }
     }
     this.Settings = new Bam.Core.Array <VSSetting>();
 }