proxy = (section == TEXT_SECTION ? new NodeProxy(doc, gid, Node.TEXT_NODE) : new NodeProxy(doc, gid, Node.ATTRIBUTE_NODE));
		public boolean indexInfo(Value key, long pointer) throws TerminatedException {			String word;			try {				word = new String(key.getData(), 2, key.getLength() - 2,						"UTF-8");			} catch (UnsupportedEncodingException uee) {				word = new String(key.getData(), 2, key.getLength() - 2);			}			if (matcher.matches(word)) {				VariableByteInput is = null;				try {					is = dbWords.getAsStream(pointer);				} catch (IOException ioe) {					LOG.warn(ioe.getMessage(), ioe);				}				if (is == null)					return true;				int k = 0;				int docId;				int len;				long gid;				long last = -1;				int freq = 1;				int sizeHint = -1;				byte section;				DocumentImpl doc;				NodeProxy parent, proxy;				Match match;				try {					while (is.available() > 0) {					    if(context != null)					        context.proceed();						docId = is.readInt();						section = is.readByte();						len = is.readInt();						if ((doc = docs.getDoc(docId)) == null) {							is.skip(termFreq ? len * 2 : len);							continue;						}						if (contextSet != null)							sizeHint = contextSet.getSizeHint(doc);						last = 0;						for (int j = 0; j < len; j++) {							gid = last + is.readLong();							if(termFreq)								freq = is.readInt();							last = gid;							if (contextSet != null) {								proxy = (section == TEXT_SECTION										? new NodeProxy(doc, gid,												Node.TEXT_NODE)										: new NodeProxy(doc, gid,												Node.ATTRIBUTE_NODE));								parent = contextSet.parentWithChild(proxy, false,										true, -1);								if (parent != null) {									result.add(parent, sizeHint);									match = new Match(word, gid);									match.setFrequency(freq);									if (trackMatches != Serializer.TAG_NONE)										parent.addMatch(match);								}							} else								((TextSearchResult) result).add(doc, gid, word);						}					}				} catch (EOFException e) {					// EOFExceptions are normal				} catch (IOException e) {					LOG.warn("io error while reading index", e);				}			}			if (contextSet != null)				((ExtArrayNodeSet) result).sort();			return true;		}