isValid is a known criteria option even though it's not checked in this function
expand logic to include both undefined and null
make waitUntilAccessorSelect sane by having it return all found objects, not just the first one