remote: Make RetryException aware of gRPC's StatusException.

RELNOTES: None.
PiperOrigin-RevId: 161179228
diff --git a/src/main/java/com/google/devtools/build/lib/remote/RetryException.java b/src/main/java/com/google/devtools/build/lib/remote/RetryException.java
index 6e9890a..24ddd36 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/RetryException.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/RetryException.java
@@ -15,6 +15,7 @@
 package com.google.devtools.build.lib.remote;
 
 import io.grpc.Status.Code;
+import io.grpc.StatusException;
 import io.grpc.StatusRuntimeException;
 import java.io.IOException;
 
@@ -32,8 +33,12 @@
   }
 
   public boolean causedByStatusCode(Code code) {
-    return getCause() instanceof StatusRuntimeException
-          && ((StatusRuntimeException) getCause()).getStatus().getCode() == code;
+    if (getCause() instanceof StatusRuntimeException) {
+      return ((StatusRuntimeException) getCause()).getStatus().getCode() == code;
+    } else if (getCause() instanceof StatusException) {
+      return ((StatusException) getCause()).getStatus().getCode() == code;
+    }
+    return false;
   }
 
   @Override