private void handle(Object input) {
		if (input instanceof Datagram) {
			TransitionEvent event = getTransitionEventFromDatagram((Datagram) input);
			try {
				this.fsm.handleEvent(event);
				
				if(this.fsm.getCurrentState() != null && "acked".equals(this.fsm.getCurrentState().getIdentifier())) {
					if(Statics.RX_HELI.equals(this.mode)) {
						this.fsm.handleEvent(new TransitionEvent("sendMode_receive"));					
					} else {
						this.fsm.handleEvent(new TransitionEvent("sendMode_send"));					
					}
				}
				if(this.fsm.getCurrentState() != null && "finished".equals(this.fsm.getCurrentState().getIdentifier())) {
					this.fsm.handleEvent(new TransitionEvent(Statics.SHUTDOWN));
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		} else {
			System.err.println("Unknown type " + input.getClass() + " discarding package");
		}
	}