@Test
  public void testBug27() {
    double[] tfVector = {0.0, 0.5, 0.0, 0.4, 0.0};
    DenseVector dense = new DenseVector(tfVector, false);
    SparseVector vectorTF = new SparseVector(dense);
    vectorTF.compact();

    assertTrue(vectorTF.getUsed() == 2); // vectorTF.getUsed() returns 5

    for (Iterator<VectorEntry> it = vectorTF.iterator(); it.hasNext(); ) {
      VectorEntry ve = it.next();
      int index = ve.index();
      double value = ve.get();
      assertTrue(tfVector[index] == value);
    }
  }
 /** Tries to store the matrix as compactly as possible */
 public void compact() {
   for (Vector v : rowD) ((SparseVector) v).compact();
 }