### Question:
FlexClientManager extends ManageableComponent { protected void removeFlexClient(FlexClient flexClient) { if (flexClient != null) { String id = flexClient.getId(); synchronized (id) { FlexClient storedClient = flexClients.get(id); if (storedClient == flexClient) flexClients.remove(id); } } } FlexClientManager();  FlexClientManager(MessageBroker broker);  FlexClientManager(boolean enableManagement, MessageBroker mbroker); String[] getClientIds(); int getFlexClientCount(); long getFlexClientTimeoutMillis(); void setFlexClientTimeoutMillis(long value); MessageBroker getMessageBroker(); FlexClient getFlexClient(String id); FlexClient getFlexClient(String id, boolean createNewIfNotExist); FlexClientOutboundQueueProcessor createOutboundQueueProcessor(FlexClient flexClient, String endpointId); void monitorAsyncPollTimeout(TimeoutAbstractObject asyncPollTimeout); void monitorScheduledFlush(TimeoutAbstractObject scheduledFlushTimeout); @Override void start(); void stop(); static final String TYPE; }### Answer:
@Test public void testRemoveFlexClient() { FlexClient client = manager.getFlexClient("client1"); manager.getFlexClient("client2"); manager.removeFlexClient(client); Assert.assertEquals(1, manager.getFlexClientCount()); Assert.assertEquals("client2", manager.getClientIds()[0]); }