title: Difference between add(), replace(), and addToBackStack()
body: <p>What is the main difference between calling these methods:</p>
  
  <pre><code>fragmentTransaction.addToBackStack(name);
  fragmentTransaction.replace(containerViewId, fragment, tag);
  fragmentTransaction.add(containerViewId, fragment, tag);
  </code></pre>
  
  <p>What does it mean to replace an already existing fragment, and adding a fragment to the activity state, and adding an activity to the back stack?</p>
  
  <p>Secondly, with <code>findFragmentByTag()</code>, does this search for tag added by the <code>add()</code>/<code>replace()</code> method or the <code>addToBackStack()</code> method?</p>