title: RealmList.addAll() throws Primary key value already exists
body: <p>I'm having an issue when I try to call <code>addAll()</code> on <code>RealmList&lt;Tile&gt;</code> with <code>accounts</code> which are already stored in realm file.</p>
  
  <p><code>realmList.addAll(tiles)</code> is called based on a response from an API call which may return <code>Tiles</code> containing one ore more <code>accounts</code> already stored in realm. The object return by the API looks like the one below:</p>
  
  <pre><code>public class ActivityStreamData extends RealmObject {
  
          @PrimaryKey
          private long id = DB_ID;
          public String timestamp;
          public RealmList&lt;Tile&gt; activity = new RealmList&lt;&gt;();
          public MessageListMeta metadata = new MessageListMeta();
      }
  
  public class Tile extends RealmObject {
  
      public String type;
      public RealmList&lt;Account&gt; accounts;
      public Account account;
  
  }
  
  public class Account extends RealmObject {
  
      @PrimaryKey
      public long id;
      public String timestamp;
      public String name;
      public String email;
  
  }
  </code></pre>
  
  <p>The call fails when trying to add <code>tiles</code> to the  <code>activityStream.activity</code> list when fetching more.</p>
  
  <p>Any way to force <code>addAll</code> to act as a <code>createOrUpdate</code> call</p>