public static Instance deepCopy(Instance source) {
        Instance target = new Instance();
        target.setInstanceId(source.getInstanceId());
        target.setIp(source.getIp());
        target.setPort(source.getPort());
        target.setWeight(source.getWeight());
        target.setHealthy(source.isHealthy());
        target.setEnabled(source.isEnabled());
        target.setEphemeral(source.isEphemeral());
        target.setClusterName(source.getClusterName());
        target.setServiceName(source.getServiceName());
        target.setMetadata(new HashMap<>(source.getMetadata()));
        return target;
    }
@Test
    void testDeepCopy() {
        Instance source = new Instance();
        source.setInstanceId("instanceId");
        source.setIp("1.1.1.1");
        source.setPort(8890);
        source.setWeight(1);
        source.setHealthy(true);
        source.setEnabled(true);
        source.setEphemeral(true);
        source.setClusterName("custerName");
        source.setServiceName("serviceName");
        Map<String, String> metaData = new HashMap<>();
        metaData.put("k1", "v1");
        metaData.put("k2", "v2");
        source.setMetadata(new HashMap<>(metaData));
        Instance instance = InstanceUtil.deepCopy(source);
        assertNotNull(instance);
    }