### Question:
FeatureConsumerManager { public FeatureConsumer requestConsumer(DataTypeInfo type, boolean isLoadTimeAware) { Utilities.checkNull(type, "type"); Utilities.checkNull(type.getTypeKey(), "type.getTypeKey()"); FeatureConsumer consumer = myConsumerList.get(new Pair<>(type.getTypeKey(), Boolean.valueOf(isLoadTimeAware))); if (consumer == null) { int flushSize = myMantleToolbox.getDataElementCache().getPreferredInsertBlockSize(); if (flushSize <= 0) { flushSize = 5000; } consumer = new DataTypeControllerFeatureConsumer(myMantleToolbox.getDataTypeController(), isLoadTimeAware ? myTimeManager : null, type, flushSize); myConsumerList.put(new Pair<>(type.getTypeKey(), Boolean.valueOf(isLoadTimeAware)), consumer); } return consumer; } FeatureConsumerManager(MantleToolbox mantleToolbox, TimeManager timeManager); void removeType(WFSDataType type); FeatureConsumer requestConsumer(DataTypeInfo type, boolean isLoadTimeAware);  }### Answer:
@Test public void testRequestConsumer() { EasyMockSupport support = new EasyMockSupport(); DataTypeInfo dataType = createDataType(support); TimeManager timeManager = createTimeManager(support); MantleToolbox mantle = createMantle(support); support.replayAll(); FeatureConsumerManager manager = new FeatureConsumerManager(mantle, timeManager); DataTypeControllerFeatureConsumer timeAware = (DataTypeControllerFeatureConsumer)manager.requestConsumer(dataType, true); assertEquals(timeManager, timeAware.getTimeManager()); DataTypeControllerFeatureConsumer timeUnaware = (DataTypeControllerFeatureConsumer)manager.requestConsumer(dataType, false); assertNull(timeUnaware.getTimeManager()); support.verifyAll(); }