> This is the Markdown version of the page. For the complete Lattice Developers documentation index, fetch https://developer.anduril.com/llms.txt. Append .md to any page URL for its clean Markdown.

## Java SDK v3

The [Lattice SDK for Java v3](https://github.com/anduril/lattice-sdk-java/releases/tag/v3.0.0)
introduces a number of changes:

* ⚠️ **Breaking change** - Alter how enum types are generated to support forward-compatible enums. These now follow a visitor pattern
* Fixes for SSE streaming

**`Before`**

```java title="Before"
switch (event.getEventType().get()) {
    case EVENT_TYPE_PREEXISTING:
        System.out.println("Received pre-existing entity event");
        break;
    default:
        System.out.println("Default case");
        break;
}
```

**`After`**

```java title="After"
event.getEventType().get().visit(new EntityEventEventType.Visitor<Optional<EntityEventEventType>>() {
    @Override
    public Optional<EntityEventEventType> visitEventTypePreexisting() {
        System.out.println("Received pre-existing entity event");
    }

    @Override
    public Optional<EntityEventEventType> visitUnknown(String unknownType) {
        System.out.println("Received pre-existing entity event");
    }
})
```