public static JavaBeanDescriptor serialize(Object obj) {
        return serialize(obj, JavaBeanAccessor.FIELD);
    }
@Test
    @SuppressWarnings("unchecked")
    public void testSerializeJavaBeanDescriptor() {
        JavaBeanDescriptor descriptor = new JavaBeanDescriptor();
        JavaBeanDescriptor result = JavaBeanSerializeUtil.serialize(descriptor);
        Assertions.assertSame(descriptor, result);

        Map map = new HashMap();
        map.put("first", descriptor);
        result = JavaBeanSerializeUtil.serialize(map);
        Assertions.assertTrue(result.isMapType());
        Assertions.assertEquals(HashMap.class.getName(), result.getClassName());
        Assertions.assertEquals(map.size(), result.propertySize());
        Object object = result.iterator().next().getValue();
        Assertions.assertTrue(object instanceof JavaBeanDescriptor);
        JavaBeanDescriptor actual = (JavaBeanDescriptor) object;
        Assertions.assertEquals(map.get("first"), actual);
    }