@Override
    public void onCompleted(DiscoveryResultPage data, ErrorCode error) {
      Log.d(TAG, "onCompleted");
      placesList.clear();

      if (ErrorCode.NONE == error) {
        List<DiscoveryResult> discoveryItems = data.getItems();
        Log.i(TAG, "discoveryItems.size() : " + discoveryItems.size());

        for (DiscoveryResult discoveryResult : discoveryItems) {
          Log.i(TAG, "discoveryResult.getTitle() : " + discoveryResult.getTitle());

          if (ResultType.PLACE == discoveryResult.getResultType()) {
            Log.i(TAG, "Place");
            PlaceLink placeLink = (PlaceLink) discoveryResult;

            GeoCoordinate coordinates = placeLink.getPosition();
            Log.i(TAG, "coordinates.getLatitude() : " + coordinates.getLatitude());
            Log.i(TAG, "coordinates.getLongitude() : " + coordinates.getLongitude());

            Place.Builder placeBuilder = new Place.Builder();
            placeBuilder
                .setTitle(placeLink.getTitle())
                .setLatitude(coordinates.getLatitude())
                .setLongitude(coordinates.getLongitude())
                .setIconUrl(placeLink.getIconUrl())
                .setDistance(placeLink.getDistance());
            Place place = placeBuilder.build();

            placesList.add(place);
          } else if (ResultType.DISCOVERY == discoveryResult.getResultType()) {
            Log.i(TAG, "Discovery");
            DiscoveryLink discoveryLink = (DiscoveryLink) discoveryResult;
            Log.i(TAG, "discoveryLink.getUrl() : " + discoveryLink.getUrl());
          }
        }

        refreshPlaces(placesList);
        mResultPage = data;
      } else {

      }
    }