words.add(word);
words.add(word.toLowerCase());
	protected void collect(Set words, Iterator domIterator) {		byte[] data = ((Value) domIterator.next()).getData();		short type = Signatures.getType(data[0]);		String word;		TextToken token;		switch (type) {			case Node.ELEMENT_NODE :				int children = ByteConversion.byteToInt(data, 1);				for (int i = 0; i < children; i++)					collect(words, domIterator);				break;			case Node.TEXT_NODE :				String s;				try {					s = new String(data, 1, data.length - 1, "UTF-8");				} catch (UnsupportedEncodingException uee) {					s = new String(data, 1, data.length - 1);				}				tokenizer.setText(s);				while (null != (token = tokenizer.nextToken())) {					word = token.getText().toString();					if (stoplist.contains(word))						continue;					words.add(word);				}				break;			case Node.ATTRIBUTE_NODE :				byte idSizeType = (byte) (data[0] & 0x3);				String val;				try {					val = new String(data,							1 + Signatures.getLength(idSizeType), data.length									- 1 - Signatures.getLength(idSizeType),							"UTF-8");				} catch (UnsupportedEncodingException uee) {					val = new String(data,							1 + Signatures.getLength(idSizeType), data.length									- 1 - Signatures.getLength(idSizeType));				}				tokenizer.setText(val);				while (null != (token = tokenizer.nextToken())) {					word = token.getText().toString();					if (stoplist.contains(word))						continue;					words.add(word);				}				break;		}	}