protected RouteStatistic getRouteStatistic(String routeId) {

        RouteStatistic routeStatistic;
        if (!routeStatisticMap.containsKey(routeId)) {
            routeStatistic = new RouteStatistic();
            routeStatistic.setId(routeId);
            routeStatisticMap.put(routeId, routeStatistic);
        } else {
            routeStatistic = routeStatisticMap.get(routeId);
        }

        return routeStatistic;
    }
@Test
    public void testGetRouteStatistic() throws IllegalAccessException {

        @SuppressWarnings("unchecked")
        Map<String, RouteStatistic> routeStatisticMap
                = (Map<String, RouteStatistic>) FieldUtils.readDeclaredField(processor, "routeStatisticMap", true);

        assertAll(
                () -> assertNotNull(routeStatisticMap),
                () -> assertEquals(0, routeStatisticMap.size()));

        RouteStatistic result = processor.getRouteStatistic("test");

        RouteStatistic finalResult = result;
        assertAll(
                () -> assertNotNull(finalResult),
                () -> assertEquals("test", finalResult.getId()),
                () -> assertNotNull(routeStatisticMap),
                () -> assertEquals(1, routeStatisticMap.size()));

        result = processor.getRouteStatistic("test");
        RouteStatistic finalResult2 = result;

        assertAll(
                () -> assertNotNull(finalResult2),
                () -> assertEquals("test", finalResult2.getId()),
                () -> assertNotNull(routeStatisticMap),
                () -> assertEquals(1, routeStatisticMap.size()));
    }