class StorageReference implements Comparable<StorageReference> {

  @SuppressWarnings("deprecation")
  @NonNull
  public Task<StorageMetadata> getMetadata() {
    TaskCompletionSource<StorageMetadata> pendingResult = new TaskCompletionSource<>();
    StorageTaskScheduler.getInstance().scheduleCommand(new GetMetadataTask(this, pendingResult));
    return pendingResult.getTask();
  }

  @SuppressWarnings("ConstantConditions")  StorageReference(@NonNull Uri storageUri, @NonNull FirebaseStorage firebaseStorage);

}