### Environment

* Dubbo version: 3.0
StaticDirectory.destroy方法最后要对列表做clear操作，但是ReferenceConfig的createInvokerForLocal构造StaticDirectory传入的列表类型是Collections.singletonList，执行clear就会抛异常：
```
[08/10/21 07:35:39:302 UTC] main  WARN config.ReferenceConfig:  [DUBBO] Unexpected error occurred when destroy invoker of ReferenceConfig(null)., dubbo version: 3.0.4-SNAPSHOT, current host: 172.19.112.1
java.lang.UnsupportedOperationException
	at java.util.AbstractList.remove(AbstractList.java:161)
	at java.util.AbstractList$Itr.remove(AbstractList.java:374)
	at java.util.AbstractList.removeRange(AbstractList.java:571)
	at java.util.AbstractList.clear(AbstractList.java:234)
	at org.apache.dubbo.rpc.cluster.directory.StaticDirectory.destroy(StaticDirectory.java:91)
	at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.destroy(AbstractClusterInvoker.java:113)
	at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.destroy(MockClusterInvoker.java:79)
	at org.apache.dubbo.config.ReferenceConfig.destroy(ReferenceConfig.java:219)
```
/**
     * This method should be called right after the creation of this class's instance, before any property in other config modules is used.
     * Check each config modules are created properly and override their properties if necessary.
     */
    protected void checkAndUpdateSubConfigs() {
        if (StringUtils.isEmpty(interfaceName)) {
            throw new IllegalStateException("<dubbo:reference interface=\"\" /> interface not allow null!");
        }
        // 
        completeCompoundConfigs();
        // 
        List<ConfigInitializer> configInitializers = this.getExtensionLoader(ConfigInitializer.class)
            .getActivateExtension(URL.valueOf("configInitializer://"), (String[]) null);
        configInitializers.forEach(e -> e.initReferConfig(this));
        if (getGeneric() == null && getConsumer() != null) {
            setGeneric(getConsumer().getGeneric());
        }
        if (ProtocolUtils.isGeneric(generic)) {
            interfaceClass = GenericService.class;
        } else {
            try {
                if (getInterfaceClassLoader() != null) {
                    interfaceClass = Class.forName(interfaceName, true, getInterfaceClassLoader());
                } else {
                    interfaceClass = Class.forName(interfaceName, true, Thread.currentThread()
                        .getContextClassLoader());
                }
            } catch (ClassNotFoundException e) {
                throw new IllegalStateException(e.getMessage(), e);
            }