public S3ObjectsImage apply() {
        RegistryRef registry = image.registryRef();
        // get original objects first
        TimelineHashMap<Long, S3Object> newObjects;

        if (registry == RegistryRef.NOOP) {
            registry = new RegistryRef();
            newObjects = new TimelineHashMap<>(registry.registry(), 100000);
        } else {
            newObjects = image.timelineObjects();
        }

        registry.inLock(() -> {
            // put all new changed objects
            newObjects.putAll(changedObjects);
            // remove all removed objects
            removedObjectIds.forEach(newObjects::remove);
        });

        registry = registry.next();

        return new S3ObjectsImage(currentAssignedObjectId, newObjects, registry);
    }
Represents changes to a S3 object in the metadata image.
metadata/src/main/java/org/apache/kafka/image/S3ObjectsDelta.java