@Override
    public Iterable<FlowEntry> getFlowEntries(DeviceId deviceId) {
        return store.getFlowEntries(networkId(), deviceId);
    }
@Test
    public void getFlowEntries() {
        assertTrue("store should be empty",
                   Sets.newHashSet(vnetFlowRuleService1.getFlowEntries(VDID1)).isEmpty());
        assertTrue("store should be empty",
                   Sets.newHashSet(vnetFlowRuleService2.getFlowEntries(VDID1)).isEmpty());

        FlowRule f1 = addFlowRule(1);
        FlowRule f2 = addFlowRule(2);

        FlowEntry fe1 = new DefaultFlowEntry(f1);
        FlowEntry fe2 = new DefaultFlowEntry(f2);

        assertEquals("2 rules should exist", 2, flowCount(vnetFlowRuleService1));
        assertEquals("0 rules should exist", 0, flowCount(vnetFlowRuleService2));

        providerService1.pushFlowMetrics(VDID1, ImmutableList.of(fe1, fe2));
        validateEvents(listener1, RULE_ADD_REQUESTED, RULE_ADD_REQUESTED,
                       RULE_ADDED, RULE_ADDED);

        addFlowRule(1);
        assertEquals("should still be 2 rules", 2, flowCount(vnetFlowRuleService1));
        System.err.println("events :" + listener1.events);
        assertEquals("0 rules should exist", 0, flowCount(vnetFlowRuleService2));

        providerService1.pushFlowMetrics(VDID1, ImmutableList.of(fe1));
        validateEvents(listener1, RULE_UPDATED, RULE_UPDATED);
    }