### 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)
```
}
        checkStubAndLocal(interfaceClass);
        ConfigValidationUtils.checkMock(interfaceClass, this);
        resolveFile();
        ConfigValidationUtils.validateReferenceConfig(this);
        postProcessConfig();
    }
    @Override
    protected void postProcessRefresh() {
        super.postProcessRefresh();
        checkAndUpdateSubConfigs();
    }
    protected void completeCompoundConfigs() {
        super.completeCompoundConfigs(consumer);
        if (consumer != null) {
            if (StringUtils.isEmpty(registryIds)) {
                setRegistryIds(consumer.getRegistryIds());
            }
        }
    }
    /**
     * Figure out should refer the service in the same JVM from configurations. The default behavior is true
     * 1. if injvm is specified, then use it
     * 2. then if a url is specified, then assume it's a remote call
     * 3. otherwise, check scope parameter
     * 4. if scope is not specified but the target service is provided in the same JVM, then prefer to make the local
     * call, which is the default behavior
     */
    protected boolean shouldJvmRefer(Map<String, String> map) {
        URL tmpUrl = new ServiceConfigURL("temp", "localhost", 0, map);