code: @Nonnull
    @MustNotContainNull
    public static Topic[] removeSuccessorsAndDuplications(@Nonnull @MustNotContainNull final Topic... topics) {
      final List<Topic> result = new ArrayList<Topic>();
  
      for (final Topic t : topics) {
        final Iterator<Topic> iterator = result.iterator();
        while (iterator.hasNext()) {
          final Topic listed = iterator.next();
          if (listed == t || listed.hasAncestor(t)) {
            iterator.remove();
          }
        }
        result.add(t);
      }
      return result.toArray(new Topic[result.size()]);
    }
docs: Remove duplications and successors for presented topics in array.
  
  @param topics array to be processed
  @return resulted array
  @since 1.3.1