protected List<String> process(String testName,
			IPasswordPolicy passwordPolicy, int numPasswords) {

		System.out.println(ManagementFactory.getRuntimeMXBean().getName()
				+ " --> " + Thread.currentThread().getName() + passwordPolicy);

		List<String> flags = PwGeneratorFlagBuilder.evalFlags(passwordPolicy.getFlags());
		for (String flag : flags) {
			System.out.println("Applied flag: " + flag);
		}
		
		IPwGenerator pw = new PwGenerator(passwordPolicy);
		List<String> passwords = pw.generate(numPasswords, 0, null);

		Assert.assertEquals(passwords.size(), numPasswords);

		assertLengthCount(testName, passwordPolicy.getMinPwLength(), numPasswords,
				passwords);

		System.out.println(ManagementFactory.getRuntimeMXBean().getName()
				+ " --> " + Thread.currentThread().getName()
				+ " #############################");

		return passwords;
	}