public NodeHandle FindBranchNodeHandle(ISystemContext systemContext, NodeHandle initialHandle, CallMethodRequest methodToCall) { NodeHandle nodeHandle = initialHandle; if (IsAckConfirm(methodToCall.MethodId)) { AlarmHolder holder = GetAlarmHolder(methodToCall.ObjectId); if (holder != null) { if (holder.HasBranches()) { byte[] eventId = GetEventIdFromAckConfirmMethod(methodToCall); if (eventId != null) { BaseEventState state = holder.GetBranch(eventId); if (state != null) { nodeHandle = new NodeHandle(); nodeHandle.NodeId = methodToCall.ObjectId; nodeHandle.Node = state; nodeHandle.Validated = true; } } } } } return(nodeHandle); }