code: private static void subtractSparseValues(DoubleVector destination,
                                               DoubleVector source) {
          int[] otherIndices = ((SparseVector) source).getNonZeroIndices();
          for (int index : otherIndices)
              destination.add(index, -1 * source.get(index));
      }
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.