public static void readMatrixBlocks(String path, HamaConfiguration conf,
			int rows, int cols, int blockSize, int lastI,
			List<Block> emptyBlocks) {
		SequenceFile.Reader reader = null;
		try {
			FileSystem fs = FileSystem.get(conf);
			VectorWritable row = new VectorWritable();
			IntWritable i = new IntWritable();
			for (Block b : emptyBlocks) {
				int bi = b.getI();
				int bj = b.getJ();
				reader = new SequenceFile.Reader(fs, new Path(path + bi + "_"
						+ bj+".mat"), conf);
				while (reader.next(i, row)) {
					DoubleVector v = row.getVector();
					for (int k = 0; k < v.getDimension(); k++) {
						b.setValue(i.get(), k, v.get(k));
					}
				}
			}

		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (reader != null) {
				try {
					reader.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}