static L findConceptsWhere(Class c, O... params) { ret findConceptsWhere(mainConcepts, c, params); } static L findConceptsWhere(S c, O... params) { ret findConceptsWhere(mainConcepts, c, params); } static L findConceptsWhere(Concepts concepts, Class c, O... params) { params = expandParams(c, params); // indexed if (concepts.fieldIndices != null) for (int i = 0; i < l(params); i += 2) { IFieldIndex index = concepts.getFieldIndex(c, (S) params[i]); if (index != null) { print("Using index"); new L l; for (A x : index.getAll(params[i+1])) if (checkConceptFields(x, params)) l.add(x); ret l; } } // table scan ret filterConcepts(concepts.list(c), params); } static L findConceptsWhere(Concepts concepts, S c, O... params) { ret filterConcepts(concepts.list(c), params); }