@Override
    public MaskRuleConfiguration buildToBeDroppedRuleConfiguration(final DropMaskRuleStatement sqlStatement) {
        Collection<MaskTableRuleConfiguration> toBeDroppedTables = new LinkedList<>();
        for (String each : sqlStatement.getTables()) {
            toBeDroppedTables.add(new MaskTableRuleConfiguration(each, Collections.emptyList()));
            dropRule(each);
        }
        Map<String, AlgorithmConfiguration> toBeDroppedAlgorithms = new LinkedHashMap<>();
        findUnusedAlgorithms(rule.getConfiguration()).forEach(each -> toBeDroppedAlgorithms.put(each, rule.getConfiguration().getMaskAlgorithms().get(each)));
        return new MaskRuleConfiguration(toBeDroppedTables, toBeDroppedAlgorithms);
    }
@Test
    void assertUpdateCurrentRuleConfiguration() {
        MaskRuleConfiguration ruleConfig = createCurrentRuleConfiguration();
        MaskRule rule = mock(MaskRule.class);
        when(rule.getConfiguration()).thenReturn(ruleConfig);
        executor.setRule(rule);
        MaskRuleConfiguration toBeDroppedRuleConfig = executor.buildToBeDroppedRuleConfiguration(createSQLStatement(false, "t_mask"));
        assertThat(toBeDroppedRuleConfig.getTables().size(), is(1));
        assertTrue(toBeDroppedRuleConfig.getMaskAlgorithms().isEmpty());
    }