class S3ResourceId implements ResourceId {

  @Override
  public boolean equals(Object obj) {
    if (!(obj instanceof S3ResourceId)) {
      return false;
    }

    return bucket.equals(((S3ResourceId) obj).bucket) && key.equals(((S3ResourceId) obj).key);
  }

  private  S3ResourceId(
      String bucket, String key, @Nullable Long size, @Nullable Date lastModified);

}