public static Object getEmptyObject(Class<?> returnType) {
        return getEmptyObject(returnType, new HashMap<>(), 0);
    }
@Test
    void testGetEmptyObject() {
        assertTrue(ReflectUtils.getEmptyObject(Collection.class) instanceof Collection);
        assertTrue(ReflectUtils.getEmptyObject(List.class) instanceof List);
        assertTrue(ReflectUtils.getEmptyObject(Set.class) instanceof Set);
        assertTrue(ReflectUtils.getEmptyObject(Map.class) instanceof Map);
        assertTrue(ReflectUtils.getEmptyObject(Object[].class) instanceof Object[]);

        assertEquals("", ReflectUtils.getEmptyObject(String.class));
        assertEquals((short) 0, ReflectUtils.getEmptyObject(short.class));
        assertEquals((byte) 0, ReflectUtils.getEmptyObject(byte.class));
        assertEquals(0, ReflectUtils.getEmptyObject(int.class));
        assertEquals(0L, ReflectUtils.getEmptyObject(long.class));
        assertEquals((float) 0, ReflectUtils.getEmptyObject(float.class));
        assertEquals((double) 0, ReflectUtils.getEmptyObject(double.class));
        assertEquals('\0', ReflectUtils.getEmptyObject(char.class));
        assertEquals(Boolean.FALSE, ReflectUtils.getEmptyObject(boolean.class));

        EmptyClass object = (EmptyClass) ReflectUtils.getEmptyObject(EmptyClass.class);
        assertNotNull(object);
        assertNotNull(object.getProperty());
    }