@Override
    public <T> T getExtension(final String key, final Class<T> clazz) {
        return Optional.ofNullable(clazz)
                .filter(Class::isInterface)
                .filter(cls -> cls.isAnnotationPresent(SPI.class))
                .map(ExtensionLoader::getExtensionLoader)
                .map(ExtensionLoader::getDefaultJoin)
                .orElse(null);
    }
@Test
    public void testNull() {
        SpiExtensionFactory spiExtensionFactory = new SpiExtensionFactory();
        assertNull(spiExtensionFactory.getExtension("testNull", MysqlSPI.class));
        assertNull(spiExtensionFactory.getExtension("jdbcSPI", JdbcSPI.class));
    }