public final void roll(double angle) {
		if (YAXIS_ANGLE == -angle) {
			YAXIS_ANGLE = angle;
			YAXIS_TURN.entry[0][2] = -YAXIS_TURN.entry[0][2];
			YAXIS_TURN.entry[2][0] = -YAXIS_TURN.entry[2][0];
		} else if (YAXIS_ANGLE != angle) {
			// Cache it!
			YAXIS_ANGLE = angle;
			angle = Math.toRadians(angle);
			double c = Math.cos(angle), s = Math.sin(angle);
			YAXIS_TURN = new Matrix(c, 0.0, s, 0.0, 0.0, 1.0, 0.0, 0.0, -s,
					0.0, c, 0.0);
		}
		premultiply(YAXIS_TURN);
	}