code: @Override
      public SimplePath[] scan(KamNode source) {
          if (source == null) {
              throw new InvalidArgument("Source kam node cannot be null.");
          }
  
          if (!kam.contains(source)) {
              throw new InvalidArgument("Source does not exist in KAM.");
          }
  
          final List<SimplePath> pathsFound = runDepthFirstScan(kam, source);
          return pathsFound.toArray(new SimplePath[pathsFound.size()]);
      }
docs: {@inheritDoc}