public static ConstructorDeclaration mergeConstructor(ConstructorDeclaration one, ConstructorDeclaration two) {
if (isAllNull(one, two)) return null;
ConstructorDeclaration cd = null;
if (isAllNotNull(one, two)) {
cd = new ConstructorDeclaration();
cd.setName(one.getName());
cd.setComment(mergeSelective(one.getComment(), two.getComment()));
cd.setAnnotations(mergeListNoDuplicate(one.getAnnotations(), two.getAnnotations()));
cd.setModifiers(mergeModifiers(one.getModifiers(), two.getModifiers()));
cd.setJavaDoc(mergeSelective(one.getJavaDoc(), two.getJavaDoc()));
cd.setThrows(mergeListNoDuplicate(one.getThrows(), two.getThrows()));
cd.setTypeParameters(findFirstNotNull(one.getTypeParameters(), two.getTypeParameters()));
cd.setParameters(mergeParameters(one.getParameters(), two.getParameters()));
cd.setBlock(mergeBlock(one.getBlock(), two.getBlock()));
LOG.info("merge ConstructorDeclaration --> {}", cd.getName());
} else {
cd = findFirstNotNull(one, two);
LOG.info("add ConstructorDeclaration --> {}", cd.getName());
}
return cd;
}