object GetValue(string str, ValidationContext ctxt) { string[] tokens = StringTokenizer.Tokenize(str); object[] value = new object[tokens.Length]; if (tokens.Length == 0) { return(null); // don't allow 0-lenght item } for (int i = tokens.Length - 1; i >= 0; i--) { if ((value[i] = itemType.CreateValue(tokens[i], ctxt)) == null) { return(null); } } return(value); }