code: private static void subtractSparseValues(Vector destination,
                                          Vector source) {
          int[] otherIndices = ((SparseVector) source).getNonZeroIndices();
          for (int index : otherIndices) {
              double value = destination.getValue(index).doubleValue() -
                             source.getValue(index).doubleValue();
              destination.set(index, value);
          }
      }
docs: Adds the values from a {@code CompactSparseVector} to a {@code Vector}.
  Only the non-zero indices will be traversed to save time.
  
  @param destination The vector to write new values to.
  @param source The vector to read values from.