private Hits retrieveHits( GetFeature request, QueryAnalyzer analyzer ) throws FeatureStoreException, FilterEvaluationException { Map<org.deegree.protocol.wfs.query.Query, Integer> wfsQueryToIndex = new HashMap<org.deegree.protocol.wfs.query.Query, Integer>(); int i = 0; for ( org.deegree.protocol.wfs.query.Query query : request.getQueries() ) { wfsQueryToIndex.put( query, i++ ); } int hitsTotal = 0; int[] queryHits = new int[wfsQueryToIndex.size()]; DateTime[] queryTimeStamps = new DateTime[queryHits.length]; for ( Map.Entry<FeatureStore, List<Query>> fsToQueries : analyzer.getQueries().entrySet() ) { FeatureStore fs = fsToQueries.getKey(); Query[] queries = fsToQueries.getValue().toArray( new Query[fsToQueries.getValue().size()] ); int[] hits = fs.queryHits( queries ); // map the hits from the feature store back to the original query sequence for ( int j = 0; j < hits.length; j++ ) { Query query = queries[j]; int singleHits = hits[j]; org.deegree.protocol.wfs.query.Query wfsQuery = analyzer.getQuery( query ); int index = wfsQueryToIndex.get( wfsQuery ); hitsTotal += singleHits; queryHits[index] = queryHits[index] + singleHits; queryTimeStamps[index] = getCurrentDateTimeWithoutMilliseconds(); } } return new Hits( hitsTotal, queryHits, queryTimeStamps ); }