code: private void processIntDocument(IntegerVector docVector, int[] document) {
  
          // Make one pass through the document to build the document vector.
          for (int termIndex : document) {
              IntegerVector reflectiveVector = 
                  termToReflectiveSemantics.get(indexToTerm[termIndex]);
              // Lock on the term's vector to prevent another thread from updating
              // it concurrently
              synchronized(reflectiveVector) {
                  VectorMath.add(reflectiveVector, docVector);
              }
          }
      }
docs: Processes the compressed version of a document where each integer
  indicates that token's index, adding the document's vector to the
  reflective semantic vector each time a term occurs in the document.
  
  @param docVector the vector of the document that is being processed
  @param document the document to be processed where each {@code int} is a
  term index
  
  @return the number of contexts present in this document