code: private void makeImmutable() {
          // Make the tags unmodifiable
          event.setTags(Collections.unmodifiableMap(event.getTags()));
  
          // Make the breadcrumbs unmodifiable
          event.setBreadcrumbs(Collections.unmodifiableList(event.getBreadcrumbs()));
  
          // Make the contexts unmodifiable
          Map<String, Map<String, Object>> tempContexts = new HashMap<>();
          for (Map.Entry<String, Map<String, Object>> contextEntry : event.getContexts().entrySet()) {
              tempContexts.put(contextEntry.getKey(), Collections.unmodifiableMap(contextEntry.getValue()));
          }
          event.setContexts(Collections.unmodifiableMap(tempContexts));
  
          // Make the extra properties unmodifiable (everything in it is still mutable though)
          event.setExtra(Collections.unmodifiableMap(event.getExtra()));
  
          // Make the SentryInterfaces unmodifiable
          event.setSentryInterfaces(Collections.unmodifiableMap(event.getSentryInterfaces()));
      }
docs: Ensures that every field in the {@code Event} are immutable to avoid confusion later.