public Box rotate(float rotation,float x,float y,float z,Vec3UV center){
  ROTATION_MATRIX.setRotations((float)Math.toRadians(x * rotation),(float)Math.toRadians(y * rotation),(float)Math.toRadians(z * rotation));
  for (  Box box : this.childBoxes) {
    box.rotate(rotation,x,y,z,center);
  }
  for (  Quad quad : this.quads) {
    for (int i=0; i < 4; i++) {
      Vec3UV vec=quad.vertices[i];
      Vec3UV rotatedPoint=null;
      rotatedPoint=ROTATION_MATRIX.transformVec(vec,center);
      vec.x=rotatedPoint.x;
      vec.y=rotatedPoint.y;
      vec.z=rotatedPoint.z;
    }
  }
  return this;
}

public Box rotate ( float rotation , float x , float y , float z , Vec3UV center ) { ROTATION_MATRIX . setRotations ( ( float ) Math . toRadians ( x * rotation ) , ( float ) Math . toRadians ( y * rotation ) , ( float ) Math . toRadians ( z * rotation ) ) ; for ( Box box : this . childBoxes ) { box . rotate ( rotation , x , y , z , center ) ; } for ( Quad quad : this . quads ) { for ( int i = 0 ; i < 4 ; i ++ ) { Vec3UV vec = quad . vertices [ i ] ; Vec3UV rotatedPoint = null ; rotatedPoint = ROTATION_MATRIX . transformVec ( vec , center ) ; vec . x = rotatedPoint . x ; vec . y = rotatedPoint . y ; vec . z = rotatedPoint . z ; } } return this ; }
rotates the box and its child boxes .
