public bool StartParticipation(ParticipationRequest request) { bool result = false; if ((request.RequestType == ParticipationRequest.Type.Stop || !participationData.isTopPriorityAndState(ParticipationState.Retained, request.Requestor)) && request.RequestType == ParticipationRequest.Type.Start) { result = MoveRequestToParticipate(request); } return(result); }