diff --git a/java-storage/google-cloud-storage/src/main/java/com/google/cloud/storage/StorageImpl.java b/java-storage/google-cloud-storage/src/main/java/com/google/cloud/storage/StorageImpl.java index 8a510b84e7cc..7060db7e4719 100644 --- a/java-storage/google-cloud-storage/src/main/java/com/google/cloud/storage/StorageImpl.java +++ b/java-storage/google-cloud-storage/src/main/java/com/google/cloud/storage/StorageImpl.java @@ -492,8 +492,9 @@ public Bucket update(BucketInfo bucketInfo, BucketTargetOption... options) { .forEach( field -> { String jsonName = field.getApiaryName(); - if (tmp.containsKey(jsonName)) { - bucketPb.put(jsonName, tmp.get(jsonName)); + Object value = tmp.get(jsonName); + if (value != null) { + bucketPb.put(jsonName, value); } else { BucketField lookup = BucketField.lookup(field); if (lookup != null) { @@ -577,8 +578,9 @@ public Blob update(BlobInfo blobInfo, BlobTargetOption... options) { } else { checkState(subFields.size() <= 1, "unexpected nested field(s) %s", subFields); String jsonName = topLevelField.getApiaryName(); - if (tmp.containsKey(jsonName)) { - pb.put(jsonName, tmp.get(jsonName)); + Object value = tmp.get(jsonName); + if (value != null) { + pb.put(jsonName, value); } else { BlobField lookup = BlobField.lookup(topLevelField); if (lookup != null) {