code: public Set<? extends Element> getIncludedElements() {
          if (includedElements == null) {
              Set<Element> result = new LinkedHashSet<>();
              result.addAll(includedModuleElements);
              result.addAll(includedPackageElements);
              result.addAll(includedTypeElements);
              includedElements = Collections.unmodifiableSet(result);
          }
          return includedElements;
      }
docs: Returns a set of elements included elements. The inclusion is as
  follows:
  A module is fully included,
  - is specified on the command line --module
  - is derived from the module graph, that is, by expanding the
  requires directive, based on --expand-requires
  
  A module is included if an enclosed package or type is
  specified on the command line.
  
  A package is fully included,
  - is specified on the command line
  - is derived from expanding -subpackages
  - can be documented in a fully included module based on --show-packages
  
  A package is included, if an enclosed package or a type is specified on
  the command line.
  
  Included type elements (including those within specified or included packages)
  to be documented.
  
  A type is fully included if
  - is specified on the command line with -sourcepath
  - is visible with --show-types filter
  A nested type is fully included if
  - is visible with --show-types filter
  - is enclosed in a fully included type
  @return the set of elements specified on the command line