anchor.diff:    client.close();
     var builds = object["builds"] as List<dynamic>;
     if (builds == null || builds.isEmpty) {
  -    throw CommitNotBuiltException(
  +    throw NoResultsForCommitException(
           "Builder $builder hasn't built commit $commit");
     }
     var build = builds.last;
  
positive.code:             "Warning: Searching for inexact baseline build: $e, continuing...");
        }
      }
      throw CommitNotBuiltException(
          "Failed to locate approximate baseline results for "
          "$commit in past $limit commits");
    }
  
negative.code:   var buildAddressTag =
        tags.firstWhere((tag) => tag.startsWith("build_address:"));
    var buildAddress = buildAddressTag.substring("build_address:".length);
    var buildNumber = int.parse(buildAddress.split("/").last);
    if (build["status"] != "COMPLETED") {
      throw NoResultsForCommitException(
          "Build $buildAddress isn't completed yet");
    }
    var resultsPath = buildFileCloudPath(builder, "$buildNumber", "results.json");
    var flakyPath = buildFileCloudPath(builder, "$buildNumber", "flaky.json");
    if (await lsGsutil(resultsPath) == null ||
        await lsGsutil(flakyPath) == null) {
      throw NoResultsForCommitException(
          "Build $buildAddress did not upload results");
    }
    return BuildSearchResult(buildNumber, commit);
  }
  
  Future<BuildSearchResult> searchForApproximateBuild(
      String builder, String commit) async {
    try {
      return await searchForBuild(builder, commit);
    } on NoResultsForCommitException catch (e) {
      print("Warning: $e, searching for an inexact previous build...");
      var limit = 25;
      var arguments = [
  