//can deal with singular and plural private Noun parseNoun(String[] subStrings) { String[] currentParamater; //make new descriptor Noun result = new Noun(); try { //start looping foreach (String element in subStrings) { currentParamater = element.Split('='); switch (currentParamater[0].Trim().ToLower()) { case "noun": //ignore break; case "singular": result.setSingular(currentParamater[1].Trim()); break; case "plural": result.setPlural(currentParamater[1].Trim()); break; case "countable": result.setCountable(parseBoolean(currentParamater[1].Trim())); break; default: throw new FileLoadException("Syntax error loading noun " + result.noun.ToUpper() + "."); } } }//end try catch (FileLoadException ex) { throw ex; //throw it up to higher level } catch (ArgumentException ex) //thrown by incorrect enum parsing { throw ex; //throw it up } return(result); }