public static void maybeInvokeRetrieval(
     TextView textView, ParsedResult result, HistoryManager historyManager, Context context) {
   try {
     if (result instanceof URIParsedResult) {
       SupplementalInfoRetriever uriRetriever =
           new URIResultInfoRetriever(textView, (URIParsedResult) result, historyManager, context);
       uriRetriever.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
       SupplementalInfoRetriever titleRetriever =
           new TitleRetriever(textView, (URIParsedResult) result, historyManager);
       titleRetriever.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
     } else if (result instanceof ProductParsedResult) {
       ProductParsedResult productParsedResult = (ProductParsedResult) result;
       String productID = productParsedResult.getProductID();
       SupplementalInfoRetriever productRetriever =
           new ProductResultInfoRetriever(textView, productID, historyManager, context);
       productRetriever.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
     } else if (result instanceof ISBNParsedResult) {
       String isbn = ((ISBNParsedResult) result).getISBN();
       SupplementalInfoRetriever productInfoRetriever =
           new ProductResultInfoRetriever(textView, isbn, historyManager, context);
       productInfoRetriever.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
       SupplementalInfoRetriever bookInfoRetriever =
           new BookResultInfoRetriever(textView, isbn, historyManager, context);
       bookInfoRetriever.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
     }
   } catch (RejectedExecutionException ree) {
     // do nothing
   }
 }
 @Override
 public void handleButtonPress(int index) {
   ProductParsedResult productResult = (ProductParsedResult) getResult();
   switch (index) {
     case 0:
       openProductSearch(productResult.getNormalizedProductID());
       break;
     case 1:
       webSearch(productResult.getNormalizedProductID());
       break;
     case 2:
       openURL(fillInCustomSearchURL(productResult.getNormalizedProductID()));
       break;
   }
 }