public bool GetBranchMaxInterdateReentry(long lGroup, ref long lMaxInDtRee) { trace.Write(TraceLevel.Debug, "CM1GroupsTree::GetBranchMaxInterdateReentry"); bool fnResult = true; try { lMaxInDtRee = GlobalDefs.DEF_UNDEFINED_VALUE; // Get group object of the group of the operation to evaluate CM1Group pGrp = GetGroupFromGrpId(lGroup); if (pGrp == null) { throw new InvalidOperationException("Could not obtain group of current operation"); } long lGrpAccInDtRee = GlobalDefs.DEF_UNDEFINED_VALUE; while ((pGrp != null) && (lGrpAccInDtRee == GlobalDefs.DEF_UNDEFINED_VALUE)) { lGrpAccInDtRee = pGrp.GetMaxInterdateReentry(); pGrp = GetGroupParent(pGrp.GetGrpId()); } lMaxInDtRee = lGrpAccInDtRee; trace.Write(TraceLevel.Info, $"Max. Interdate for reentry for group {lGroup}: {lMaxInDtRee}"); } catch (Exception error) { trace.Write(TraceLevel.Error, error.ToLogString()); fnResult = false; } return(fnResult); }