public override bool MatchObjectWithOid(NeoDatis.Odb.OID oid, bool returnObject, bool inMemory) { currentOid = oid; // Gets a map with the values with the fields involved in the query values = objectReader.ReadObjectInfoValuesFromOID(classInfo, currentOid, true, involvedFields , involvedFields, 0, criteriaQuery.GetOrderByFieldNames()); bool objectMatches = true; if (!criteriaQuery.IsForSingleOid()) { // Then apply the query on the field values objectMatches = NeoDatis.Odb.Impl.Core.Query.Criteria.CriteriaQueryManager.Match( criteriaQuery, values); } NeoDatis.Odb.Core.Layers.Layer2.Meta.ObjectInfoHeader oih = values.GetObjectInfoHeader (); // Stores the next position nextOID = oih.GetNextObjectOID(); return(objectMatches); }