if (inctokenizer!=null) processMenuChoices(md, inctokenizer, include_filename, new PathSpecification(file.getParentFile().getAbsolutePath()));
if (inctokenizer!=null) processMenuChoices(md, inctokenizer, include_filename, new PathSpecification(file.getParentFile().getAbsolutePath(), paths));
public static void processMenuChoices(DBDMenuData md, EnhancedStreamTokenizer tokenizer, String fileName, PathSpecification paths) throws Exception {	String choice_name;	String choice_value;	String include_filename;	EnhancedStreamTokenizer inctokenizer = null;	if (md!=null)		/********************** choices area *************************/						while (tokenizer.nextToken() != EnhancedStreamTokenizer.TT_EOF) 		if (tokenizer.ttype == EnhancedStreamTokenizer.TT_WORD) 			if (tokenizer.sval.equals(ENDSTR)) break;			else if (tokenizer.sval.equalsIgnoreCase(CHOICE)) {								// read choice_name				tokenizer.nextToken();				if ((tokenizer.ttype == EnhancedStreamTokenizer.TT_WORD) ||					(tokenizer.ttype == DBDConstants.quoteChar)) choice_name=tokenizer.sval;				else throw (new DBDParseException("Invalid choice_name...", tokenizer, fileName));									// read choice_value				tokenizer.nextToken();				if (tokenizer.ttype == DBDConstants.quoteChar) choice_value=tokenizer.sval;				else throw (new DBDParseException("Invalid choice_value...", tokenizer, fileName));				md.addMenuChoice(choice_name, choice_value);			}						else if (tokenizer.sval.equalsIgnoreCase(INCLUDE)) {				// read incude_filename				tokenizer.nextToken();				if (tokenizer.ttype == DBDConstants.quoteChar) include_filename=tokenizer.sval;				else throw (new DBDParseException("Invalid include_filename...", tokenizer, fileName));					File file = paths.search4File(include_filename);				inctokenizer = getEnhancedStreamTokenizer(file.getAbsolutePath());				if (inctokenizer!=null) processMenuChoices(md, inctokenizer, include_filename, new PathSpecification(file.getParentFile().getAbsolutePath()));			}								/***********************************************************/}