public String[] generateHelpFileIndex() {
		final String path = HELP_DIR;

		final List<String> fileList = new LinkedList<String>();

		String[] hfIndex;

		try {
			final File dir = new File(path); // could throw NullPointerException, but shouldn't

			// TODO possibly replace checks below with a FilenameFilter ?
			if( dir.isDirectory() ) {
				for (final File file : Arrays.asList( dir.listFiles() )) {
					if ( file.isFile() ) {
						final String fileName = file.getName();

						if ( fileName.endsWith(".help") || fileName.endsWith(".HELP") ) {
							fileList.add(fileName);
						}
					}
				}

				hfIndex = Utils.listToStringArray(fileList);
			}
			else hfIndex = new String[0];
		}
		catch(final NullPointerException npe) {
			System.out.println("Error: invalid help dir. (NullPointerException).");
			System.out.println("--- Stack Trace ---");
			npe.printStackTrace();

			hfIndex = new String[0];
		}

		return hfIndex;
	}