public IList <DropDownEntry <string> > GetItems(Func <string, string> translator = null) { var entries = Populator.Invoke(); return((from DropDownEntry <string> entry in entries let code = entry.Code let description = entry.Description let translatedDesctiption = translator == null ? description : translator.Invoke(description) select new DropDownEntry <string>(code, translatedDesctiption)).ToArray()); }