public IDictionary <string, OpenApiPathItem> CreatePaths(IEdmEntitySet entitySet)
        {
            IDictionary <string, OpenApiPathItem> paths = new Dictionary <string, OpenApiPathItem>();

            // itself
            OpenApiPathItem pathItem = new OpenApiPathItem
            {
                Get = entitySet.CreateGetOperationForEntitySet(),

                Post = entitySet.CreatePostOperationForEntitySet()
            };

            paths.Add("/" + entitySet.Name, pathItem);

            // entity
            string entityPathName = entitySet.CreatePathNameForEntity();

            pathItem = new OpenApiPathItem
            {
                Get = entitySet.CreateGetOperationForEntity(),

                Patch = entitySet.CreatePatchOperationForEntity(),

                Delete = entitySet.CreateDeleteOperationForEntity()
            };
            paths.Add(entityPathName, pathItem);

            // bound operations
            IDictionary <string, OpenApiPathItem> operations = CreatePathItemsWithOperations(entitySet);

            foreach (var operation in operations)
            {
                paths.Add(operation);
            }

            return(paths);
        }