code: @Nonnull
      private String[] getFirstSubdirs(final int pNumSubdirs)
      {
          String[] result = new String[pNumSubdirs];
          Arrays.fill(result, null);
  
          final File thisFile = Util.canonize(getApiFixer().getCurrentFileName());
          if (thisFile.getPath().startsWith(baseDir.getPath())) {
  
              final String relPath = thisFile.getPath().substring(baseDir.getPath().length() + 1); // incl. separator char
              final String[] pathElements = relPath.split(Pattern.quote(File.separator), pNumSubdirs + 1);
              int i = 0;
              for (String elem : pathElements) {
                  if (i < pNumSubdirs) {
                      result[i++] = elem;
                  }
              }
          }
          return result;
      }
docs: Assuming that the currently analyzed file is located below the current working directory, this method returns a
  new array of exactly <code>pNumSubdirs</code> elements containing the simple names of the directories on the
  path to the currently analyzed file, starting just below the current working directory.
  
  @param pNumSubdirs the number of subdirectory names to return. If fewer exist, they are padded with
  <code>null</code>
  @return the first n subdirs, where non-existing elements are <code>null</code>