ParseCorePlugins.getInstance().registerUserController(userController);
ParseCurrentUserController currentUserController = mock(ParseCurrentUserController.class);
when(currentUserController.setAsync(any(ParseUser.class)))
.thenReturn(Task.<Void>forResult(null));
ParseCorePlugins.getInstance().registerCurrentUserController(currentUserController);
<BUG>ParseUser userAfterResolveLaziness =
ParseTaskUtils.wait(user.resolveLazinessAsync(Task.<Void>forResult(null)));
verify(userController, times(1)).logInAsync(</BUG>
any(ParseUser.State.class), any(ParseOperationSet.class));
<BUG>verify(currentUserController, times(1)).setAsync(any(ParseUser.class));
assertEquals("newSessionToken", userAfterResolveLaziness.getSessionToken());</BUG>
assertEquals("newValue", userAfterResolveLaziness.get("newKey"));

ParseCorePlugins.getInstance().registerUserController(userController);
ParseCurrentUserController currentUserController = mock(ParseCurrentUserController.class);
when(currentUserController.setAsync(any(ParseUser.class)))
.thenReturn(Task.<Void>forResult(null));
ParseCorePlugins.getInstance().registerCurrentUserController(currentUserController);
ParseTaskUtils.wait(user.resolveLazinessAsync(Task.<Void>forResult(null)));
ArgumentCaptor<ParseUser> userAfterResolveLazinessCaptor =
ArgumentCaptor.forClass(ParseUser.class);
verify(userController, times(1)).logInAsync(
any(ParseUser.State.class), any(ParseOperationSet.class));
verify(currentUserController, times(1)).setAsync(userAfterResolveLazinessCaptor.capture());
ParseUser userAfterResolveLaziness = userAfterResolveLazinessCaptor.getValue();
assertEquals("newSessionToken", userAfterResolveLaziness.getSessionToken());
assertEquals("newValue", userAfterResolveLaziness.get("newKey"));
