code: public Matrix4f normal(Matrix4f dest) {
          if ((properties & PROPERTY_IDENTITY) != 0)
              return dest.identity();
          else if ((properties & PROPERTY_ORTHONORMAL) != 0)
              return normalOrthonormal(dest);
          return normalGeneric(dest);
      }
docs: Compute a normal matrix from the upper left 3x3 submatrix of <code>this</code>
  and store it into the upper left 3x3 submatrix of <code>dest</code>.
  All other values of <code>dest</code> will be set to {@link #identity() identity}.
  <p>
  The normal matrix of <code>m</code> is the transpose of the inverse of <code>m</code>.
  <p>
  Please note that, if <code>this</code> is an orthogonal matrix or a matrix whose columns are orthogonal vectors,
  then this method <i>need not</i> be invoked, since in that case <code>this</code> itself is its normal matrix.
  In that case, use {@link #set3x3(Matrix4f)} to set a given Matrix4f to only the upper left 3x3 submatrix
  of this matrix.
  
  @see #set3x3(Matrix4f)
  
  @param dest
  will hold the result
  @return dest