code: private static List<ConfigPath> resolveUniqueTypePaths(final List<ConfigPath> items) {
          final Map<Class, ConfigPath> index = new HashMap<>();
          final List<Class> duplicates = new ArrayList<>();
          for (ConfigPath item : items) {
              final Class type = item.getDeclaredType();
              if (!item.isCustomType() || duplicates.contains(type)) {
                  continue;
              }
              if (index.containsKey(type)) {
                  // type not unique
                  index.remove(type);
                  duplicates.add(type);
              } else {
                  index.put(type, item);
              }
          }
          return index.isEmpty() ? Collections.emptyList() : new ArrayList<>(index.values());
      }
docs: Looks for all pojo objects on all configuration paths and select unique pojos. This may be used later
  to bind configuration part by type (as its uniquely identify location).
  
  @param items all parsed configuration paths
  @return list of unique custom configuration objects