public JArray findWithAdvancedQuery(List <JSONStoreQuery> queryParts, JSONStoreQueryOptions options)
        {
            // the results
            JArray results = null;

            // get the shared store
            JSONStoreSQLLite store = JSONStoreSQLLite.sharedManager();

            if (store == null)
            {
                //JSONStoreLoggerError(@"Error: JSON_STORE_DATABASE_NOT_OPEN, code: %d", rc);
                throw new JSONStoreException(JSONStoreConstants.JSON_STORE_DATABASE_NOT_OPEN);
            }

            lock (JSONStore.lockThis)
            {
                results = store.findWithQueryParts(queryParts, collectionName, options);

                if (results == null)
                {
                    // JSONStoreLoggerError(@"Error: JSON_STORE_INVALID_SEARCH_FIELD, code: %d, collection name: %@, accessor username: %@, currentQuery: %@, JSONStoreQueryOptions: %@", rc, self.collectionName, accessor != nil ? accessor.username : @"nil", nil, options);

                    throw new JSONStoreException(JSONStoreConstants.JSON_STORE_INVALID_SEARCH_FIELD);
                }

                return(results);
            }
        }