public Quaternion nlerp( Quaternion dest, float lerpFactor, boolean shortest )
	{
		Quaternion correctedDest = dest;

		if ( shortest && this.dot( dest ) < 0 )
			correctedDest = new Quaternion( -dest.getX(), -dest.getY(), -dest.getZ(), -dest.getW() );

		return correctedDest.sub( this ).mul( lerpFactor ).add( this ).normalized();
	}