@Test
  public void immediatelyClosedConversationTest() {
    windowContext.activateWindow("w1");

    explicitlyGroupedBeanX.setValue("x1");
    explicitlyGroupedBeanY.setValue("x2");
    Assert.assertEquals("x1", explicitlyGroupedBeanX.getValue());
    Assert.assertEquals("x2", explicitlyGroupedBeanY.getValue());

    explicitlyGroupedBeanX.done();

    Assert.assertNull(explicitlyGroupedBeanX.getValue());
    Assert.assertNull(explicitlyGroupedBeanY.getValue());
  }
  @Test
  public void immediatelyClosedConversationViaConversationManagerTest() {
    windowContext.activateWindow("w1");

    explicitlyGroupedBeanX.setValue("x1");
    explicitlyGroupedBeanY.setValue("x2");
    Assert.assertEquals("x1", explicitlyGroupedBeanX.getValue());
    Assert.assertEquals("x2", explicitlyGroupedBeanY.getValue());

    this.conversationManager.closeConversationGroup(ExplicitTestGroup.class);

    Assert.assertNull(explicitlyGroupedBeanX.getValue());
    Assert.assertNull(explicitlyGroupedBeanY.getValue());
  }
  @Test(expected = ContextNotActiveException.class)
  public void noWindowTest() {
    try {
      windowContext.activateWindow("w1");

      explicitlyGroupedBeanX.setValue("x1");
      explicitlyGroupedBeanY.setValue("x2");
      Assert.assertEquals("x1", explicitlyGroupedBeanX.getValue());
      Assert.assertEquals("x2", explicitlyGroupedBeanY.getValue());

      this.windowContext.closeWindow("w1");
    } catch (ContextNotActiveException e) {
      Assert.fail();
    }

    explicitlyGroupedBeanX.getValue();
  }
  @Test
  public void parallelConversationsTest() {
    windowContext.activateWindow("w1");

    explicitlyGroupedBeanX.setValue("x1");
    explicitlyGroupedBeanY.setValue("x2");
    Assert.assertEquals("x1", explicitlyGroupedBeanX.getValue());
    Assert.assertEquals("x2", explicitlyGroupedBeanY.getValue());

    windowContext.activateWindow("w2");

    Assert.assertNull(explicitlyGroupedBeanX.getValue());
    Assert.assertNull(explicitlyGroupedBeanY.getValue());

    explicitlyGroupedBeanX.setValue("y1");
    explicitlyGroupedBeanY.setValue("y2");
    Assert.assertEquals("y1", explicitlyGroupedBeanX.getValue());
    Assert.assertEquals("y2", explicitlyGroupedBeanY.getValue());
  }