kotlin if (bar == null) vs. bar ?: run : <p>Here is sample</p>

<pre><code>if (bar == null) {
    // do something
}
</code></pre>

<p>vs.</p>

<pre><code>bar ?: run {
    // do something. 
}
</code></pre>

<ol>
<li>which one is best practice?  </li>
<li>what is mutating property?  </li>
<li>first one dosen't work with mutating property?  </li>
</ol>
