public static boolean isShadow(final HintShadowAlgorithm<Comparable<?>> shadowAlgorithm, final ShadowDetermineCondition shadowCondition, final ShadowRule shadowRule) {
        Collection<PreciseHintShadowValue<Comparable<?>>> noteShadowValues = createNoteShadowValues(shadowCondition);
        for (PreciseHintShadowValue<Comparable<?>> each : noteShadowValues) {
            if (shadowAlgorithm.isShadow(shadowRule.getAllShadowTableNames(), each)) {
                return true;
            }
        }
        return false;
    }
@SuppressWarnings({"rawtypes", "unchecked"})
    @Test
    void assertIsShadow() {
        HintShadowAlgorithm hintShadowAlgorithm = (HintShadowAlgorithm) TypedSPILoader.getService(ShadowAlgorithm.class, "SQL_HINT", new Properties());
        assertTrue(HintShadowAlgorithmDeterminer.isShadow(hintShadowAlgorithm, createShadowDetermineCondition(), new ShadowRule(createShadowRuleConfiguration())));
    }