JAVA: Encode Beacon MessagePack form MQTT via AB BLE Gateway 4.0

I have encoding problems when evaluating the MessagePack.
A part is encoded correctly, but the advertising (devices) is not encoded correctly.

I actually want to evaluate the following values:
ID of the beacon
Battery level in% (do you have a java example?)

Can someone help me there?

The example-method did not work unfortunately:
Link: gateway-v4/examples/java/http-server/

AprilBeacon EEK-N BLE Beacon (Eddystone UID)
AB BLE Gateway 4.0 (MQTT)

Gateway Config:
Connection Type: MQTT Client
Port: 1883
Publish Topic: joelBLE
Request Interval: 2 sec
RSSI Filter: Default
Advertising Filter: Eddystone UID Only
Duplicate Filter: Yes
Auto Restart: Disable

Here is my project on GitLab:

I found the Problem. the message was not always a Beacon, so it wasn`t always a map-format. So i have to check if the message is in map-format, then i can parse the massage like in the example.

just add the line:
if( unpacker.getNextFormat() == MessageFormat.FIXMAP) {

Thanks for your update!