public override ArrayList ExpectedElements(ValidationState context, bool isRequiredOnly) {
ArrayList names = null;
foreach (DictionaryEntry entry in elements) {
if (!context.AllElementsSet[(int)entry.Value] && (!isRequiredOnly || isRequired[(int)entry.Value])) {
if (names == null) {
names = new ArrayList();
}
names.Add(entry.Key);
}
}
return names;
}