private ServiceAction PrepareForConnection()
        {
            var action = new ServiceAction
            {
                Name = "PrepareForConnection"
            };

            action.ArgumentList.Add(new Argument
            {
                Name = "RemoteProtocolInfo",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_ProtocolInfo"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "PeerConnectionManager",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_ConnectionManager"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "PeerConnectionID",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_ConnectionID"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "Direction",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_Direction"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "ConnectionID",
                Direction = "out",
                RelatedStateVariable = "A_ARG_TYPE_ConnectionID"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "AVTransportID",
                Direction = "out",
                RelatedStateVariable = "A_ARG_TYPE_AVTransportID"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "RcsID",
                Direction = "out",
                RelatedStateVariable = "A_ARG_TYPE_RcsID"
            });

            return action;
        }
        private ServiceAction GetX_GetFeatureListAction()
        {
            var action = new ServiceAction
            {
                Name = "X_GetFeatureList"
            };

            action.ArgumentList.Add(new Argument
            {
                Name = "FeatureList",
                Direction = "out",
                RelatedStateVariable = "A_ARG_TYPE_Featurelist"
            });

            return action;
        }
        private ServiceAction GetSortCapabilitiesAction()
        {
            var action = new ServiceAction
            {
                Name = "GetSortCapabilities"
            };

            action.ArgumentList.Add(new Argument
            {
                Name = "SortCaps",
                Direction = "out",
                RelatedStateVariable = "SortCapabilities"
            });

            return action;
        }
        private ServiceAction GetGetSystemUpdateIDAction()
        {
            var action = new ServiceAction
            {
                Name = "GetSystemUpdateID"
            };

            action.ArgumentList.Add(new Argument
            {
                Name = "Id",
                Direction = "out",
                RelatedStateVariable = "SystemUpdateID"
            });

            return action;
        }
        private ServiceAction GetRegisterDevice()
        {
            var action = new ServiceAction
            {
                Name = "RegisterDevice"
            };

            action.ArgumentList.Add(new Argument
            {
                Name = "RegistrationReqMsg",
                Direction = "in"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "RegistrationRespMsg",
                Direction = "out"
            });

            return action;
        }
        private ServiceAction GetIsAuthorized()
        {
            var action = new ServiceAction
            {
                Name = "IsAuthorized"
            };

            action.ArgumentList.Add(new Argument
            {
                Name = "DeviceID",
                Direction = "in"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "Result",
                Direction = "out"
            });

            return action;
        }
        private ServiceAction GetGetValidationSucceededUpdateID()
        {
            var action = new ServiceAction
            {
                Name = "GetValidationSucceededUpdateID"
            };

            action.ArgumentList.Add(new Argument
            {
                Name = "ValidationSucceededUpdateID",
                Direction = "out"
            });

            return action;
        }
        private ServiceAction GetGetAuthorizationGrantedUpdateID()
        {
            var action = new ServiceAction
            {
                Name = "GetAuthorizationGrantedUpdateID"
            };

            action.ArgumentList.Add(new Argument
            {
                Name = "AuthorizationGrantedUpdateID",
                Direction = "out"
            });

            return action;
        }
        private ServiceAction GetSearchAction()
        {
            var action = new ServiceAction
            {
                Name = "Search"
            };

            action.ArgumentList.Add(new Argument
            {
                Name = "ContainerID",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_ObjectID"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "SearchCriteria",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_SearchCriteria"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "Filter",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_Filter"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "StartingIndex",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_Index"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "RequestedCount",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_Count"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "SortCriteria",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_SortCriteria"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "Result",
                Direction = "out",
                RelatedStateVariable = "A_ARG_TYPE_Result"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "NumberReturned",
                Direction = "out",
                RelatedStateVariable = "A_ARG_TYPE_Count"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "TotalMatches",
                Direction = "out",
                RelatedStateVariable = "A_ARG_TYPE_Count"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "UpdateID",
                Direction = "out",
                RelatedStateVariable = "A_ARG_TYPE_UpdateID"
            });

            return action;
        }
        private ServiceAction GetXSetBookmarkAction()
        {
            var action = new ServiceAction
            {
                Name = "X_SetBookmark"
            };

            action.ArgumentList.Add(new Argument
            {
                Name = "CategoryType",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_CategoryType"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "RID",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_RID"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "ObjectID",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_ObjectID"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "PosSecond",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_PosSec"
            });

            return action;
        }
        private ServiceAction ConnectionComplete()
        {
            var action = new ServiceAction
            {
                Name = "ConnectionComplete"
            };

            action.ArgumentList.Add(new Argument
            {
                Name = "ConnectionID",
                Direction = "in",
                RelatedStateVariable = "A_ARG_TYPE_ConnectionID"
            });

            return action;
        }
        private ServiceAction GetCurrentConnectionIDs()
        {
            var action = new ServiceAction
            {
                Name = "GetCurrentConnectionIDs"
            };

            action.ArgumentList.Add(new Argument
            {
                Name = "ConnectionIDs",
                Direction = "out",
                RelatedStateVariable = "CurrentConnectionIDs"
            });

            return action;
        }
        private ServiceAction GetProtocolInfo()
        {
            var action = new ServiceAction
            {
                Name = "GetProtocolInfo"
            };

            action.ArgumentList.Add(new Argument
            {
                Name = "Source",
                Direction = "out",
                RelatedStateVariable = "SourceProtocolInfo"
            });

            action.ArgumentList.Add(new Argument
            {
                Name = "Sink",
                Direction = "out",
                RelatedStateVariable = "SinkProtocolInfo"
            });

            return action;
        }