title: distinctUnionOfObjects not working
body: <p>I have created simple XCTest to test distinctUnionOfObjects. All the test cases are passing except one which is isKindOfClass (Last XCTAssertTrue). Any idea why it's changing the class when you do distinctUnionOfObjects. </p>
  
  <pre><code>- (void)testUsersPredicate
  {
           NSArray *usersBeforePredicate = [[self userData] users];
           XCTAssertEqual([usersBeforePredicate count] , 34u, @"We need 34");
           XCTAssertTrue([[usersBeforePredicate lastObject] isKindOfClass:[ICEUsersModelObject class]], @"Object is not ICEUsersModelObject class");
  
           NSString *distinctUsersKeyPath = [NSString stringWithFormat:@"@distinctUnionOfObjects.%@", @"userName"];
           NSArray* usersAfterPredicate = [usersBeforePredicate valueForKeyPath:distinctUsersKeyPath];
  
           XCTAssertEqual([usersAfterPredicate count] , 30u, @"We need 30");
           XCTAssertTrue([[usersAfterPredicate lastObject] isKindOfClass:[ICEUsersModelObject class]], @"Object is not ICEUsersModelObject class");
  }
  </code></pre>