public bool GetBranchEfecAccumMinutes(long lGroup, ref long m_lRealAccMinutes) { trace.Write(TraceLevel.Debug, "CM1GroupsTree::GetBranchAccumMinutes"); bool fnResult = true; try { CM1Group group = GetGroupFromGrpId(lGroup); if (group == null) { throw new InvalidOperationException("Could not obtain group of current operation"); } long lGrpAccMinutes = 0; m_lRealAccMinutes = 0; while (group != null) { lGrpAccMinutes = group.GetEfecAccMinutes(); m_lRealAccMinutes = Math.Max(lGrpAccMinutes, m_lRealAccMinutes); group = GetGroupParent(group.GetGrpId()); } trace.Write(TraceLevel.Info, $"Minutes accumulate for branch of group {lGroup}: {m_lRealAccMinutes}"); } catch (Exception error) { trace.Write(TraceLevel.Error, error.ToLogString()); fnResult = false; } return(fnResult); }