public void AddLink <T>(T entity) where T : ModRuleEntity//, new()
 {
     if (entity is Sign)
     {
         SignPrintLinks.Add(new PrintTemplateModRuleLink <Sign>()
         {
             Template = this,
             Entity   = entity as Sign,
         });
     }
     else if (entity is MenologyRule)
     {
         MenologyPrintLinks.Add(new PrintTemplateModRuleLink <MenologyRule>()
         {
             Template = this,
             Entity   = entity as MenologyRule,
         });
     }
     else if (entity is TriodionRule)
     {
         TriodionPrintLinks.Add(new PrintTemplateModRuleLink <TriodionRule>()
         {
             Template = this,
             Entity   = entity as TriodionRule,
         });
     }
 }
 public void ClearLinks <T>(T entity) where T : ModRuleEntity//, new()
 {
     if (entity is Sign)
     {
         SignPrintLinks.RemoveAll(c => c.Entity == entity);
     }
     else if (entity is MenologyRule)
     {
         MenologyPrintLinks.RemoveAll(c => c.Entity == entity);
     }
     else if (entity is TriodionRule)
     {
         TriodionPrintLinks.RemoveAll(c => c.Entity == entity);
     }
 }