public class GenericSensorReadingDecoder<_State_ extends GenericSensorReadingDecoder.State> implements Module<_State_> { protected void initialize (Context context, _State_ state) { state.readingsQueue = context.resolveQueue ("inbound_sensor_readings"); } public void terminate (_State_ state) { return null; } public Object upgrade (_State_ state) { return null; } public State upgrade (Context context, Object oldState) { return this.initialize (context); } protected void publish (_State_ state, SensorReading reading) { state.readingsQueue.publish (reading); } public static class State { public Queue readingsQueue; } }