title: Parse causes "SQLiteConstraintException: UNIQUE constraint failed"
body: <p>Using parse.com, I'd like to fetch new messages from the server and pin them locally. I'm on Android 5.0.1 and Parse-1.8.1.</p>
  
  <pre><code>@Override
  public void fetchMessagesFromServer(final Conversation conversation, Date newerThanDate, final Callback&lt;List&lt;Message&gt;&gt; callback) {
    ParseQuery&lt;Message&gt; parseQuery = ParseQuery.getQuery(Message.class);
    parseQuery.whereEqualTo(Message.CONVERSATION, conversation);
    parseQuery.whereGreaterThan(Message.CREATED_AT, newerThanDate);
    parseQuery.orderByAscending(Message.CREATED_AT);
    parseQuery.findInBackground(new FindCallback&lt;Message&gt;() {
      @Override
      public void done(final List&lt;Message&gt; messages, ParseException e) {
        if (e != null) {
          callback.error(e);
        } else {
          Message.pinAllInBackground(conversation.getObjectId(), messages, new SaveCallback() {
            @Override
            public void done(ParseException e) {
              if (e != null) {
                callback.error(e);
              } else {
                callback.success(messages);
              }
            }
          });
        }
      }
    });
  }
  </code></pre>
  
  <p>Fetching works as expected, I get 6 <code>Message</code> objects, all having an objecId. But pinning them using <code>Message.pinAllInBackground(String name, List&lt;Message&gt; objects, SaveCallback saveCallback)</code>  fails with <code>com.parse.ParseException: bolts.AggregateException: There were 6 exceptions.</code></p>
  
  <p><code>AggregateException.causes</code> contains 6 equal exceptions:</p>
  
  <pre><code>UNIQUE constraint failed: ParseObjects.className, ParseObjects.objectId (code 2067)
  </code></pre>
  
  <p>While I understand that an unique constraint consisting of className and objectId fails, I can't see what I'm doing wrong. Inspecting all 6 Message objects show that all objectIds are different. Does anyone see a problem? Is it a bug?</p>