Why when a field is not present does it throw an exception instead of just assigning null? I looked for mandatory vs optional fields in nmea 0183, looks like there aren't explicit mandatory rules for any field, so why throwing an exception that ruins the whole multi-threaded execution of an app.