private void processDocument(String content, Document doc, int docId) {

		  if (content == null || doc == null || docId < 0) {
			  return;
		  }
		  int pos = 0;
		  Vector<String> terms = Utilities.getStemmed(content);
		  Vector<Integer> wordOccurenceList; 
		  for (String t : terms) {
			  t = t.trim();
			  if (t.length() > 0) {
				  if (!_occuredIndex.containsKey(t)) {
					  _occuredIndex.put(t, new LinkedHashMap<Integer, Vector<Integer>>());
				  }

			  	  if (_occuredIndex.get(t).containsKey(docId)) {
			  		  wordOccurenceList =  _occuredIndex.get(t).get(docId);
			  		  wordOccurenceList.add(pos);
			  		  _occuredIndex.get(t).put(docId, wordOccurenceList);
			  		  
				  } else {
					  wordOccurenceList = new Vector<Integer>();
					  wordOccurenceList.add(pos);
					  _occuredIndex.get(t).put(docId, wordOccurenceList);
				  }

				  ++_totalTermFrequency;
			  }
			  pos++;
		  }

		  String uri = doc.baseUri();
		  uri = uri==null ? "" : uri;
		  uri = new File(uri).getName();

		  String title = doc.title().trim();
		  title = title.length()==0 ? uri : title;
		  
		  int wordsInDoc = terms.size();

		  docInfo.append(docId);
		  docInfo.append(_docInfoDelim);		
		  docInfo.append(uri);
		  docInfo.append(_docInfoDelim);
		  docInfo.append(title);
		  docInfo.append(_docInfoDelim);
		  docInfo.append(wordsInDoc); // total words in the document
		  docInfo.append("\n");
	  }