The last window query is the selection query where the user asks for the blocks of the map in the queried window where the wanted features are found. As in the case of the exist query, for each maximal block searching starts by examining the entries at Btree root. As already described, only the branches where the respective entry's bitstring has at least one position of the queried features set to 1, are followed. Once the leaf level is reached, then the queried maximal block is searched. As described in the previous subsection, if this searching is not successful, then we first try to see if its descendants exist in the tree. In such a case, only those descendants that are homogeneous with respect to one of the queried features are returned. If the descendants are not stored in the tree, then we have to look for its ancestor. Only then, it can be verified whether the ancestor is covered by one of the queried features or not. This procedure operates in exactly the same way as in the HL-tree, since we need to report the exact blocks where the features exist and in this case searching cannot be avoided with the use of the quadtree's internal nodes.