code: public static List<EnumConstantDeclaration> mergeEnumConstants(List<EnumConstantDeclaration> one, List<EnumConstantDeclaration> two) {
          if (isAllNull(one, two)) return null;
  
          List<EnumConstantDeclaration> ecds = null;
  
          if (isAllNotNull(one, two)) {
  
              ecds = new ArrayList<>();
  
              List<EnumConstantDeclaration> notMatched = new ArrayList<>();
              notMatched.addAll(two);
  
              for (EnumConstantDeclaration outer : one) {
  
                  boolean found = false;
  
                  for (Iterator<EnumConstantDeclaration> iterator = notMatched.iterator(); iterator.hasNext(); ) {
                      EnumConstantDeclaration inner = iterator.next();
  
                      if (inner.getName().equals(outer.getName())) {
                          ecds.add(mergeEnumConstant(outer, inner));
                          found = true;
                          iterator.remove();
                      }
                  }
  
                  if (!found) {
                      ecds.add(outer);
                      LOG.info("add EnumConstantDeclaration --> {}", outer.getName());
                  }
              }
  
              for (EnumConstantDeclaration inner : notMatched) {
                  ecds.add(inner);
                  LOG.info("add EnumConstantDeclaration --> {}", inner.getName());
              }
  
          } else {
              ecds = findFirstNotNull(one, two);
              for (EnumConstantDeclaration ecd : ecds) {
                  LOG.info("add EnumConstantDeclaration --> {}", ecd.getName());
              }
          }
  
          return ecds;
      }
docs: /*
  合并枚举常量集合