@Override
    public Collection<SQLToken> generateSQLTokens(final InsertStatementContext insertStatementContext) {
        Collection<SQLToken> result = new LinkedList<>();
        EncryptTable encryptTable = encryptRule.getEncryptTable(insertStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue());
        for (ColumnSegment each : insertStatementContext.getSqlStatement().getColumns()) {
            List<String> derivedColumnNames = getDerivedColumnNames(encryptTable, each);
            if (!derivedColumnNames.isEmpty()) {
                result.add(new InsertColumnsToken(each.getStopIndex() + 1, derivedColumnNames));
            }
        }
        return result;
    }
@Test
    void assertGenerateSQLTokensNotContainColumns() {
        EncryptInsertDerivedColumnsTokenGenerator tokenGenerator = new EncryptInsertDerivedColumnsTokenGenerator(mockEncryptRule());
        InsertStatementContext insertStatementContext = mock(InsertStatementContext.class, RETURNS_DEEP_STUBS);
        when(insertStatementContext.getSqlStatement().getTable().getTableName().getIdentifier().getValue()).thenReturn("foo_tbl");
        assertTrue(tokenGenerator.generateSQLTokens(insertStatementContext).isEmpty());
    }