code: @Override
      protected ExceptionCollection scanDependencies(final Engine engine) throws MojoExecutionException {
          ExceptionCollection exCol = scanArtifacts(getProject(), engine, true);
          for (MavenProject childProject : getDescendants(this.getProject())) {
              final ExceptionCollection ex = scanArtifacts(childProject, engine, true);
              if (ex != null) {
                  if (exCol == null) {
                      exCol = ex;
                  }
                  exCol.getExceptions().addAll(ex.getExceptions());
                  if (ex.isFatal()) {
                      exCol.setFatal(true);
                      final String msg = String.format("Fatal exception(s) analyzing %s", childProject.getName());
                      if (this.isFailOnError()) {
                          throw new MojoExecutionException(msg, exCol);
                      }
                      getLog().error(msg);
                      if (getLog().isDebugEnabled()) {
                          getLog().debug(exCol);
                      }
                  }
              }
          }
          return exCol;
      }
docs: Scans the dependencies of the projects in aggregate.
  
  @param engine the engine used to perform the scanning
  @return a collection of exceptions
  @throws MojoExecutionException thrown if a fatal exception occurs