private static bool DeleteV2(FileSystemEntry self, Func <bool> deleteAction) { if (self.IsNotNullAndExists()) { var res = deleteAction(); AssertV2.IsFalse(!res || self.Exists, "Still exists: " + self); return(res); } return(false); }