code: @Override
      public Matrix multAdd(double alpha, Matrix B, Matrix C) {
          checkMultAdd(B, C);
          if (alpha == 0)
              return C;
          for (int i = 0; i < numRows; i++) {
              Node row = links.startOfRow(i);
              if (row != null)
                  for (int j = 0; j < B.numColumns(); j++) {
                      Node node = row;
                      double v = 0;
                      while (node != null && node.row == i) {
                          v += (B.get(node.col, j) * node.val);
                          node = node.rowTail;
                      }
                      if (v != 0)
                          C.add(i, j, alpha * v);
                  }
          }
          return C;
      }
docs: TODO: optimise matrix mults based on RHS Matrix