protected Vector createCopy(Vector vector) {
   if (RANDOM.nextBoolean()) {
     return DenseVectorFactoryMTJ.INSTANCE.copyVector(vector);
   } else {
     return SparseVectorFactoryMTJ.INSTANCE.copyVector(vector);
   }
 }
  protected Vector createVector(int numDim) {

    if (RANDOM.nextBoolean()) {
      return DenseVectorFactoryMTJ.INSTANCE.createVector(numDim);
    } else {
      return SparseVectorFactoryMTJ.INSTANCE.createVector(numDim);
    }
  }