protected abstract void GetSummary(GetSummaryArgs args);
 public void Process(GetSummaryArgs args)
 {
     if (ShouldProcess(args))
         GetSummary(args);
 }
 protected virtual bool ShouldProcess(GetSummaryArgs args)
 {
     return string.IsNullOrEmpty(args.Summary);
 }