code: private void swapValues(final int src, final int dst) {
      final T item = data_.get(src);
      data_.set(src, data_.get(dst));
      data_.set(dst, item);
  
      final Double wt = weights_.get(src);
      weights_.set(src, weights_.get(dst));
      weights_.set(dst, wt);
  
      if (marks_ != null) {
        final Boolean mark = marks_.get(src);
        marks_.set(src, marks_.get(dst));
        marks_.set(dst, mark);
      }
    }
docs: /* swap values of data_, weights_, and marks between src and dst indices