Catalog API Upsert Issue

How do I manipulate the object? It is read only.
And using the builder functionality seems very cumbersome since I will have to init all the new fields with the fields of the existing object.

      var item = GetItem(itemID); // Get Item info from Square
            var object1 = new CatalogObject.Builder(type: "ITEM", id: itemID)
              .PresentAtAllLocations(false)
              .AbsentAtLocationIds(locationList)
              .ItemData(item.ItemData) // assigning existing item information to newly built object
              .CategoryData(item.CategoryData) // assigning existing item information to newly built object
              //more fields need to be added here
              .Build();