public override void InsertValuesIntoSubqueryTable(Session session, IPersistentStore store) { if (!this._isTable) { object[] objArray2 = (object[])base.nodes[0].GetValue(session); for (int i = 0; i < objArray2.Length; i++) { object[] objArray3; if (this._ordinality) { objArray3 = new object[] { objArray2[i], i }; } else { objArray3 = new object[] { objArray2[i] }; } Row newCachedObject = store.GetNewCachedObject(session, objArray3); try { store.IndexRow(session, newCachedObject); } catch (CoreException) { } } } else { RowSetNavigator navigator = base.nodes[0].GetResult(session).GetNavigator(); while (navigator.HasNext()) { object[] next = navigator.GetNext(); Row newCachedObject = store.GetNewCachedObject(session, next); try { store.IndexRow(session, newCachedObject); continue; } catch (CoreException) { continue; } } } }