Program: 29606
Project: 29606
Buggy source:
@Test public void shouldGetAlbumResultForIds_async() throws Exception {
  final Api api=Api.DEFAULT_API;
  final AlbumsRequest request=api.getAlbums("String_Node_Str").httpManager(TestUtil.MockedHttpManager.returningJson("String_Node_Str")).build();
  final CountDownLatch asyncCompleted=new CountDownLatch(1);
  final SettableFuture<List<Album>> albumsFuture=request.getAsync();
  Futures.addCallback(albumsFuture,new FutureCallback<List<Album>>(){
    @Override public void onSuccess(    List<Album> albums){
      assertEquals(1,albums.size());
      Album firstAlbum=albums.get(0);
      assertEquals("String_Node_Str",firstAlbum.getId());
      assertEquals(AlbumType.ALBUM,firstAlbum.getAlbumType());
      assertEquals("String_Node_Str",firstAlbum.getReleaseDate());
      assertEquals("String_Node_Str",firstAlbum.getReleaseDatePrecision());
      assertEquals(2,firstAlbum.getCopyrights().size());
      List<ArtistSimplified> artists=firstAlbum.getArtists();
      ArtistSimplified firstArtist=artists.get(0);
      assertEquals("String_Node_Str",firstArtist.getHref());
      assertEquals("String_Node_Str",firstArtist.getId());
      Paging<TrackSimplified> tracksPage=firstAlbum.getTracks();
      assertEquals("String_Node_Str",tracksPage.getHref());
      assertEquals(0,tracksPage.getOffset());
      assertEquals(50,tracksPage.getLimit());
      assertEquals(20,tracksPage.getTotal());
      assertEquals("String_Node_Str",tracksPage.getItems().get(0).getId());
      asyncCompleted.countDown();
    }
    @Override public void onFailure(    Throwable throwable){
      fail();
    }
  }
);
  asyncCompleted.await(1,TimeUnit.SECONDS);
}

Fixed version (ground truth):
@Test public void shouldGetAlbumResultForIds_async() throws Exception {
  final Api api=Api.DEFAULT_API;
  final AlbumsRequest request=api.getAlbums("String_Node_Str").httpManager(TestUtil.MockedHttpManager.returningJson("String_Node_Str")).build();
  final CountDownLatch asyncCompleted=new CountDownLatch(1);
  final SettableFuture<List<Album>> albumsFuture=request.getAsync();
  Futures.addCallback(albumsFuture,new FutureCallback<List<Album>>(){
    @Override public void onSuccess(    List<Album> albums){
      assertEquals(1,albums.size());
      Album firstAlbum=albums.get(0);
      assertEquals("String_Node_Str",firstAlbum.getId());
      assertEquals(AlbumType.ALBUM,firstAlbum.getAlbumType());
      assertEquals("String_Node_Str",firstAlbum.getReleaseDate());
      assertEquals(ReleaseDatePrecision.day,firstAlbum.getReleaseDatePrecision());
      assertEquals(2,firstAlbum.getCopyrights().size());
      List<ArtistSimplified> artists=firstAlbum.getArtists();
      ArtistSimplified firstArtist=artists.get(0);
      assertEquals("String_Node_Str",firstArtist.getHref());
      assertEquals("String_Node_Str",firstArtist.getId());
      Paging<TrackSimplified> tracksPage=firstAlbum.getTracks();
      assertEquals("String_Node_Str",tracksPage.getHref());
      assertEquals(0,tracksPage.getOffset());
      assertEquals(50,tracksPage.getLimit());
      assertEquals(20,tracksPage.getTotal());
      assertEquals("String_Node_Str",tracksPage.getItems().get(0).getId());
      asyncCompleted.countDown();
    }
    @Override public void onFailure(    Throwable throwable){
      fail();
    }
  }
);
  asyncCompleted.await(1,TimeUnit.SECONDS);
}