public static ListedCapabilityStatement TryAddSearchParams(this ListedCapabilityStatement statement, ResourceType resourceType, IEnumerable <CapabilityStatement.SearchParamComponent> searchParams)
        {
            EnsureArg.IsNotNull(statement, nameof(statement));
            EnsureArg.IsNotNull(searchParams, nameof(searchParams));

            statement.BuildRestResourceComponent(resourceType, builder =>
            {
                builder.SearchParam = searchParams.ToList();
            });

            return(statement);
        }
        public static ListedCapabilityStatement TryAddRestInteraction(this ListedCapabilityStatement statement, ResourceType resourceType, CapabilityStatement.TypeRestfulInteraction interaction)
        {
            EnsureArg.IsNotNull(statement, nameof(statement));

            statement.BuildRestResourceComponent(resourceType, builder =>
            {
                var hasInteraction = builder
                                     .Interaction
                                     .FirstOrDefault(x => x.Code == interaction);

                if (hasInteraction == null)
                {
                    builder
                    .Interaction
                    .Add(new CapabilityStatement.ResourceInteractionComponent
                    {
                        Code = interaction,
                    });
                }
            });

            return(statement);
        }