code: protected static void getNonUniqueCobolNames(
              final CobolDataItem cobolDataItem,
              final List < String > cobolNames,
              final List < String > nonUniqueCobolNames) {
  
          String cobolName = cobolDataItem.getCobolName();
          if (!cobolName.equalsIgnoreCase("FILLER")) {
              if (cobolNames.contains(cobolName)) {
                  if (!nonUniqueCobolNames.contains(cobolName)) {
                      nonUniqueCobolNames.add(cobolName);
                  }
              } else {
                  cobolNames.add(cobolName);
              }
          }
          for (CobolDataItem child : cobolDataItem.getChildren()) {
              getNonUniqueCobolNames(child, cobolNames, nonUniqueCobolNames);
          }
      }
docs: If data item COBOL name is already used, we add it to the non unique
  list. This recurse to the item children.
  <p/>
  We don't add COBOL FILLERs as they are always considered non unique.
  
  @param cobolDataItem a COBOL data item
  @param cobolNames the list of all COBOL names used so far
  @param nonUniqueCobolNames the list of non unique COBOL names