generalized LensObjectList to take any LensObject (ptr) type with templates