public static String generateHelp(String pre, Argument[] arguments, String post)
	{
		StringBuilder sb = new StringBuilder ();
		
		// Append pre if necessary
		if (pre != null && pre.trim ().length () > 0) {
			sb.append (pre);
			sb.append ("\n");
		}
		
		sb.append ("Arguments:");
		sb.append ("\n");
		
		int argsLen = arguments.length;
		// Generate help message for each argument
		for (int a = 0; a < argsLen; a++) {
			Argument arg = arguments[a];
			
			sb.append (String.format ("\t%s - %s (Type: %s):", arg.getMarker (), arg.getName (),
					EnumUtils.stringifyEnumName (arg.getArgType (), true)));
			
			sb.append ("\n");
			sb.append (String.format ("\t\t\t%s", arg.getDescription ()));
			
			if (arg.getDefaultValue () != null) {
				sb.append ("\n");
				sb.append (String.format ("\t\tDefault: %s", arg.getDefaultValue ()));
			}
			
			if (a < (argsLen - 1)) {
				sb.append ("\n");
			}
		}
		
		// Append post if necessary
		if (post != null && post.trim ().length () > 0) {
			sb.append (post);
			sb.append ("\n");
		}
		
		return sb.toString ();
	}