public static EnumDeclaration mergeType(EnumDeclaration one, EnumDeclaration two) {
if (isAllNull(one, two)) return null;
EnumDeclaration ed = null;
if (isAllNotNull(one, two)) {
ed = new EnumDeclaration();
ed.setJavaDoc(mergeSelective(one.getJavaDoc(), two.getJavaDoc()));
ed.setComment(mergeSelective(one.getComment(), one.getComment()));
ed.setModifiers(mergeModifiers(one.getModifiers(), two.getModifiers()));
ed.setAnnotations(mergeListNoDuplicate(one.getAnnotations(), two.getAnnotations()));
ed.setImplements(mergeListNoDuplicate(one.getImplements(), two.getImplements()));
ed.setName(one.getName());
ed.setEntries(mergeEnumConstants(one.getEntries(), two.getEntries()));
LOG.info("merge EnumDeclaration --> {}", ed.getName());
} else {
ed = findFirstNotNull(one, two);
LOG.info("add EnumDeclaration --> {}", ed.getName());
}
return ed;
}