public GarminSerialDownloadHandler(final ProtocolListener unit, final ProtocolFinder finder,
final InputStream gpsInputStream, final SerialPort serialPort) {
try {
_reader = new SerialMessageReader(gpsInputStream);
serialPort.addEventListener(_reader);
_reader.addMessageListener(new MessageListener() {
@Override
public void messageReceived(final GarminMessage m) {
_log.info("received " + m);
if (_currentProtocol == null)
_currentProtocol = finder.findProtocol(m);