code: static void constructR( DMatrixRMaj R, DMatrixRMaj R_v , DMatrix2x2 R22 ,
  							double b1 , double b2 , Vector3D_F64 ca ,
  							double sign , DMatrixRMaj tmp )
  	{
  		tmp.data[0]= R22.a11;
  		tmp.data[1]= R22.a12;
  		tmp.data[2]= sign*ca.x;
  
  		tmp.data[3]= R22.a21;
  		tmp.data[4]= R22.a22;
  		tmp.data[5]= sign*ca.y;
  
  		tmp.data[6]= sign*b1;
  		tmp.data[7]= sign*b2;
  		tmp.data[8]= ca.z;
  
  		CommonOps_DDRM.mult(R_v,tmp,R);
  	}
docs: R = R_v*[R22, sgn*c; sgn*b^T , a ]