public static DocParameter copy(final DocParameter source) {
        DocParameter target = new DocParameter();
        target.setId(source.getId());
        target.setExample(source.getExample());
        target.setDescription(source.getDescription());
        target.setName(source.getName());
        target.setModule(source.getModule());
        target.setMaxLength(source.getMaxLength());
        target.setRefs(source.getRefs());
        target.setRequired(source.isRequired());
        target.setType(source.getType());
        target.setXExample(source.getXExample());
        return target;
    }
@Test
    public void testCopy() {
        DocParameter copied = DocParameter.copy(docParameter);
        assertEquals("shenyuDescription", copied.getDescription());
        assertEquals(0, copied.getId().intValue());
        assertEquals("shenyuMaxLength", copied.getMaxLength());
        assertEquals("shenyuSetModule", copied.getModule());
        assertEquals("shenyuName", copied.getName());
        assertTrue(copied.isRequired());
        assertEquals("shenyuType", copied.getType());
        assertEquals("shenyuXExample", copied.getXExample());

        copied.setRefs(Collections.singletonList(copied));
        assertEquals(Collections.singletonList(copied), copied.getRefs());
    }