// According to HTML1.1, PUT can create an entity at a URI (return 201) or update (return 200)
        public HttpResponseMessage Put(RecordDescriptor recordSchema)
        {
            var instanceValidator = new RecordSchemaValidator(documentSession);
            var results = instanceValidator.Validate(recordSchema);
            if (!results.IsValid)
            {
                BadRequest(results);
            }

            // Update internal ItemType field (could do in RavenDb behavior)
            recordSchema.UpdateFieldTypes();

            documentSession.Store(recordSchema, recordSchema.Etag);

            var pathToResource = string.Format("schema/getbyname?name={0}", recordSchema.Name);
            return SaveChanges(recordSchema, pathToResource);
        }