code: public Vector2f rotate(float x, float y) {
          final float length = length();
          if (Math.abs(length) < GenericMath.FLT_EPSILON) {
              throw new ArithmeticException("Cannot rotate by the zero complex");
          }
          final float nx = this.x / length;
          final float ny = this.y / length;
          return new Vector2f(x * nx - y * ny, y * nx + x * ny);
      }
docs: Rotates the float components of a vector by this complex.
  
  @param x The x component of the vector
  @param y The y component of the vector
  @return The rotated vector