case DynamicSubscript.MID: return len > 0 ? array.objectAtIndex(len/2) : null;
case DynamicSubscript.LAST: return len > 0 ? array.lastObject() : null;
case DynamicSubscript.ALL: return array.clone();
}
}
throw new NoSuchPropertyException(target, name);
}