public static void WarnAndClear(PNode focus, ContentBackingStore fromContent, bool clearFirst, Func <bool> clearMethod, ContentBackingStore destContent)
 {
     if (focus.IsOutOfSyncFor(fromContent))
     {
         Warn("IsOutOfSyncFor " + fromContent + " due to SyncFromNow==" + focus.SyncFromNow + " in " + focus);
     }
     if (clearFirst)
     {
         if (clearMethod())
         {
             if (focus.SyncFromNow == destContent)
             {
                 Warn("Lost Data from " + focus.SyncFromNow + " in " + focus);
             }
         }
         focus.SyncFromNow = ContentBackingStore.None;
     }
     else
     {
         focus.SyncFromNow = ContentBackingStore.None;
         focus.SyncFromNow = destContent;
     }
 }
 public bool IsOutOfSyncFor(ContentBackingStore type)
 {
     return(type != SyncFromNow && SyncFromNow != ContentBackingStore.None);
 }
 public bool IsDataFrom(ContentBackingStore backingStore)
 {
     return(SourceKind == backingStore);
 }