The implementation returns a new vector if it already does not exist. But it does not add the new vector to the matrix. So, the later changes will not be reflected in the matrix.
An example in which this bug manifests is the following:
where Matrix x is not updated if it is an instance of SparseMatrix.