void checkListenerMd5() {
        for (ManagerListenerWrap wrap : listeners) {
            if (!md5.equals(wrap.lastCallMd5)) {
                safeNotifyListener(dataId, group, content, type, md5, encryptedDataKey, wrap);
            }
        }
    }
@Test
    void testCheckListenerMd5() throws NacosException {
        ConfigFilterChainManager filter = new ConfigFilterChainManager(new Properties());
        final CacheData data = new CacheData(filter, "name1", "key", "group", "tenant");
        final List<String> list = new ArrayList<>();
        Listener listener = new Listener() {
            @Override
            public Executor getExecutor() {
                return Runnable::run;
            }
            
            @Override
            public void receiveConfigInfo(String configInfo) {
                list.add(configInfo);
            }
        };
        data.addListener(listener);
        data.checkListenerMd5();
        assertTrue(data.checkListenersMd5Consistent());
        assertEquals(0, list.size());
        
        data.setContent("new");
        assertFalse(data.checkListenersMd5Consistent());
        data.checkListenerMd5();
        assertEquals(1, list.size());
        assertEquals("new", list.get(0));
        
    }