What operations take place when we pass argument to method?
<p>I know, that if i pass:</p>

<ul>
<li>primitive type, then copy of element will be sent</li>
<li>object type, then copy of reference will be sent</li>
</ul>

<p>I assume that (please verify):</p>

<ul>
<li>Reference size is equal with object element size </li>
<li>Object size is sum of all primitive and reference type sizes that it contains</li>
<li>Static variables are not contained in object </li>
<li>if primitive type differs, then resulting type is always at least widest of two types.</li>
</ul>

<p>I am not sure what happens if i pass:</p>

<ul>
<li>'null' (empty reference?)</li>
<li>object type differs (first common parent?)(how is that found???)</li>
<li>enum (copy of int ?)</li>
<li>anonymous class</li>
</ul>
