@SuppressWarnings("unchecked")
 private void preprocessRoute(
     BaseRoute routeToWrite,
     NavigationFormat format,
     boolean duplicateFirstPosition,
     ParserCallback parserCallback) {
   if (format instanceof NmnFormat) routeToWrite.removeDuplicates();
   if (format instanceof NmnFormat && duplicateFirstPosition)
     routeToWrite.add(0, ((NmnFormat) format).getDuplicateFirstPosition(routeToWrite));
   if (format instanceof CoPilotFormat && duplicateFirstPosition)
     routeToWrite.add(0, ((CoPilotFormat) format).getDuplicateFirstPosition(routeToWrite));
   if (format instanceof TcxFormat) routeToWrite.ensureIncreasingTime();
   if (parserCallback != null) parserCallback.preprocess(routeToWrite, format);
 }