public String getBucketName() {
    return _uri.getAuthority();
  }
@Test
  public void testUnderScoreBucketName() {
    // This is why getAuthority is used instead of getHostName()
    // see https://cloud.google.com/storage/docs/naming-buckets
    // gcs allows _'s which would cause URI.getHost() to be null:
    GcsUri gcsUri = new GcsUri(URI.create("gs://bucket_name/dir"));
    assertEquals(gcsUri.getBucketName(), "bucket_name");
  }