### Question:
MemoryBackedConfigStore extends ConfigStore { public void addLogicalNode(String physNode, String logicNode) { if (nodeMap.containsEntry(physNode, logicNode)) { return; } nodeMap.put(physNode, logicNode); }  @Override FlumeConfigData getConfig(String host); @Override void setConfig(String host, String flowid, String source, String sink); @Override Map<String, FlumeConfigData> getConfigs(); void addChokeLimit(String physNode, String chokeID, int limit); void addLogicalNode(String physNode, String logicNode); List<String> getLogicalNodes(String physNode); @Override Multimap<String, String> getLogicalNodeMap(); @Override void bulkSetConfig(Map<String, FlumeConfigData> configs); @Override void removeLogicalNode(String logicNode); @Override void unmapLogicalNode(String physNode, String logicNode); @Override void init(); @Override void shutdown(); @Override void unmapAllLogicalNodes(); @Override Map<String, Integer> getChokeMap(String physNode);  }### Answer:
@Test public void testNodes() throws IOException { File tmp = File.createTempFile("test-flume", ""); tmp.delete(); tmp.deleteOnExit(); MemoryBackedConfigStore store = new MemoryBackedConfigStore(); ConfigManager manager = new ConfigManager(store); manager.addLogicalNode("physical", "logical1"); manager.addLogicalNode("physical", "logical2"); manager.addLogicalNode("physical", "logical3"); manager.addLogicalNode("p2", "l2"); manager.addLogicalNode("p3", "l3"); List<String> lns = manager.getLogicalNode("physical"); assertTrue(lns.contains("logical1")); assertTrue(lns.contains("logical2")); assertTrue(lns.contains("logical3")); assertTrue(manager.getLogicalNode("p2").contains("l2")); assertTrue(manager.getLogicalNode("p3").contains("l3")); }