@Test
    public void collectValues_A$_TimeoutWithDefaultValues() throws Exception {
        HttpGetToStringMultiLane multiLane = new HttpGetToStringMultiLane();
        HttpGetToStringAction httpGet = new HttpGetToStringAction("http://localhost:8881/", 1);
        multiLane.start("req-1", httpGet, "Unavailable");
        multiLane.start("req-2", httpGet, "Unavailable");

        Map<String, String> values = multiLane.collectValues();
        assertThat(values.get("req-1"), is(equalTo("Unavailable")));
        assertThat(values.get("req-2"), is(equalTo("Unavailable")));
    }
    @Test
    public void collectValues_A$() throws Exception {
        HttpGetToStringMultiLane multiLane = new HttpGetToStringMultiLane();
        HttpGetToStringAction httpGet1 = new HttpGetToStringAction("http://localhost:8881/?v=bcd", 3000);
        HttpGetToStringAction httpGet2 = new HttpGetToStringAction("http://localhost:8881/?v=cde", 3000);
        multiLane.start("req-1", httpGet1);
        multiLane.start("req-2", httpGet2);

        Map<String, String> result = multiLane.collectValues();

        assertThat(result.get("req-1"), is(equalTo("bcd")));
        assertThat(result.get("req-2"), is(equalTo("cde")));
    }
    @Test
    public void collectValues_A$_SameAction() throws Exception {
        HttpGetToStringMultiLane multiLane = new HttpGetToStringMultiLane();
        HttpGetToStringAction httpGet = new HttpGetToStringAction("http://localhost:8881/?v=bcd", 1000);
        multiLane.start("req-1", httpGet);
        multiLane.start("req-2", httpGet);

        Map<String, String> values = multiLane.collectValues();
        assertThat(values.size(), is(equalTo(2)));

        assertThat(values.get("req-1"), is(equalTo("bcd")));
        assertThat(values.get("req-2"), is(equalTo("bcd")));
    }