public boolean compareIndexSetting(String tableName, Map<String, Object> settings) {
        if ((CollectionUtils.isEmpty(settings) || CollectionUtils.isEmpty((Map) settings.get("index")))
            && Objects.isNull(indexSettingStructures.get(tableName))) {
            return true;
        }

        return indexSettingStructures.containsKey(tableName)
            && indexSettingStructures.get(tableName).
                                     equals(new UpdatableIndexSettings((Map<String, Object>) settings.get("index")));
    }
@Test
    public void compareIndexSetting() {
        IndexStructures structures = new IndexStructures();
        HashMap<String, Object> settings = new HashMap<>();
        HashMap<String, Object> indexSettings = new HashMap<>();
        settings.put("index", indexSettings);
        indexSettings.put("number_of_replicas", "1");
        indexSettings.put("number_of_shards", "1");
        structures.putStructure("test", new Mappings(), settings);

        HashMap<String, Object> settings2 = new HashMap<>();
        HashMap<String, Object> indexSettings2 = new HashMap<>();
        settings2.put("index", indexSettings2);
        indexSettings2.put("number_of_replicas", "1");
        indexSettings2.put("number_of_shards", "1");
        Assertions.assertTrue(structures.compareIndexSetting(
            "test",
            settings2
        ));

        HashMap<String, Object> settings3 = new HashMap<>();
        HashMap<String, Object> indexSettings3 = new HashMap<>();
        settings3.put("index", indexSettings3);
        indexSettings3.put("number_of_replicas", "1");
        indexSettings3.put("number_of_shards", "2");
        Assertions.assertFalse(structures.compareIndexSetting(
            "test",
            settings3
        ));
    }