public override bool TryGetIndex(GetIndexBinder binder, object[] indexes, out object result)
{
if ((indexes.Length == 1) && indexes[0] == null)
{
result = elements;
}
else
{
result = elements.FindAll
(c => indexes.Cast<string>().Contains(c.InternalName));
}
return true;
}