### Question:
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); @NonNull StorageReference child(@NonNull String pathString); @Nullable StorageReference getParent(); @NonNull StorageReference getRoot(); @NonNull String getName(); @NonNull String getPath(); @NonNull String getBucket(); @NonNull FirebaseStorage getStorage(); @SuppressWarnings("ConstantConditions") @NonNull UploadTask putBytes(@NonNull byte[] bytes); @SuppressWarnings("ConstantConditions") @NonNull UploadTask putBytes(@NonNull byte[] bytes, @NonNull StorageMetadata metadata); @SuppressWarnings("ConstantConditions") @NonNull UploadTask putFile(@NonNull Uri uri); @SuppressWarnings("ConstantConditions") @NonNull UploadTask putFile(@NonNull Uri uri, @NonNull StorageMetadata metadata); @SuppressWarnings("ConstantConditions") @NonNull UploadTask putFile(
      @NonNull Uri uri, @Nullable StorageMetadata metadata, @Nullable Uri existingUploadUri); @SuppressWarnings("ConstantConditions") @NonNull UploadTask putStream(@NonNull InputStream stream); @SuppressWarnings("ConstantConditions") @NonNull UploadTask putStream(@NonNull InputStream stream, @NonNull StorageMetadata metadata); @NonNull List<UploadTask> getActiveUploadTasks(); @NonNull List<FileDownloadTask> getActiveDownloadTasks(); @SuppressWarnings("deprecation") @NonNull Task<StorageMetadata> getMetadata(); @SuppressWarnings("deprecation,unused") @NonNull Task<Uri> getDownloadUrl(); @SuppressWarnings("deprecation") @NonNull Task<StorageMetadata> updateMetadata(@NonNull StorageMetadata metadata); @SuppressWarnings("deprecation") @NonNull Task<byte[]> getBytes(final long maxDownloadSizeBytes); @NonNull FileDownloadTask getFile(@NonNull Uri destinationUri); @NonNull FileDownloadTask getFile(@NonNull File destinationFile); @NonNull StreamDownloadTask getStream(); @NonNull StreamDownloadTask getStream(@NonNull StreamDownloadTask.StreamProcessor processor); @NonNull Task<Void> delete(); @NonNull Task<ListResult> list(int maxResults); @NonNull Task<ListResult> list(int maxResults, @NonNull String pageToken); @NonNull Task<ListResult> listAll(); @Override String toString(); @Override boolean equals(Object other); @Override int hashCode(); @Override int compareTo(@NonNull StorageReference other);  }### Answer:
@Test public void getMetadataBucketRoot() throws Exception { final StorageReference ref = FirebaseStorage.getInstance().getReference(); boolean thrown = false; try { TestCommandHelper.getMetadata(ref); } catch (IllegalArgumentException e) { thrown = true; } Assert.assertTrue(thrown); }