package org.rocket.network.acara;

import com.github.blackrush.acara.EventMetadata;
import com.github.blackrush.acara.EventMetadataBuilder;

enum RocketEventMetadataBuilder implements EventMetadataBuilder {
    instance;

    @Override
    public EventMetadata build(Object o) {
        return null;
    }
}

@@ -137,146 +137,841 @@
 er;%0A
-%0Aenum RocketEventMetadataBuilder implements EventMetadataBuilder %7B%0A    instance;%0A%0A    @Override%0A    public EventMetadata build(Object o) %7B
+import org.rocket.network.event.ConnectEvent;%0Aimport org.rocket.network.event.ReceiveEvent;%0Aimport org.rocket.network.event.SuperviseEvent;%0A%0Aenum RocketEventMetadataBuilder implements EventMetadataBuilder %7B%0A    instance;%0A%0A    @Override%0A    public EventMetadata build(Object o) %7B%0A        if (o instanceof ConnectEvent) %7B%0A            ConnectEvent evt = (ConnectEvent) o;%0A            return new Events.ConnectEventMetadata(evt.isDisconnecting());%0A        %7D else if (o instanceof ReceiveEvent) %7B%0A            ReceiveEvent evt = (ReceiveEvent) o;%0A            return new Events.ComponentWiseEventMetadata%3C%3E(evt.getMessage().getClass());%0A        %7D else if (o instanceof SuperviseEvent) %7B%0A            SuperviseEvent evt = (SuperviseEvent) o;%0A            return new Events.ComponentWiseEventMetadata%3C%3E(evt.getException().getClass());%0A        %7D
 %0A   

Implement RocketEventMetadataBuilder