code: @Nullable
    @SuppressWarnings("LiteralClassName")
    private static Throwable initJndi() {
      if (GrpcUtil.IS_RESTRICTED_APPENGINE) {
        return new UnsupportedOperationException(
            "Currently running in an AppEngine restricted environment");
      }
      try {
        Class.forName("javax.naming.directory.InitialDirContext");
        Class.forName("com.sun.jndi.dns.DnsContextFactory");
      } catch (ClassNotFoundException e) {
        return e;
      } catch (RuntimeException e) {
        return e;
      } catch (Error e) {
        return e;
      }
      return null;
    }
docs: Returns whether the JNDI DNS resolver is available.  This is accomplished by looking up a
  particular class.  It is believed to be the default (only?) DNS resolver that will actually be
  used.  It is provided by the OpenJDK, but unlikely Android.  Actual resolution will be done by
  using a service provider when a hostname query is present, so the {@code DnsContextFactory}
  may not actually be used to perform the query.  This is believed to be "okay."