code: public Matrix multiply(Matrix B, ExecutorService threadPool)
      {
          Matrix C = new DenseMatrix(this.rows(), B.cols());
          multiply(B, C, threadPool);
          return C;
      }
docs: Creates a new matrix that stores <i>A*B</i>
  @param B the matrix to multiply by
  @param threadPool the source of threads to do computation in parallel
  @return a new matrix <i>A*B</i>