@Test
public void connectionReuse() throws ConnectionException, InterruptedException, IOException {

  initPool(Integer.MAX_VALUE, 2, Integer.MAX_VALUE, .95);
  TestConnection<ClusterManagementService.Iface> conn = (TestConnection<ClusterManagementService.Iface>) pool
      .reserveConnection(ClusterManagementService.Iface.class, ADDR1, null);
  int connId = conn.getId();
  Assert.assertEquals(conn.getServiceInfo().getServiceInterface(), ClusterManagementService.Iface.class,
      "Correct service expected");
  conn.close(); // release connection
  // re-request address
  conn = (TestConnection<ClusterManagementService.Iface>) pool.reserveConnection(ClusterManagementService.Iface.class,
      ADDR1, null);
  conn.close();
  Assert.assertEquals(conn.getId(), connId, "Expected that connection is re-used");
  Assert.assertEquals(conn.getServiceInfo().getServiceInterface(), ClusterManagementService.Iface.class,
      "Correct service expected");
}