Please get checker-qual and error_prone_annotations to agree with caffeine...update your check-qual dependency to 2.6.0 and your error_prone_annotations dependency to 2.3.3, please.

    Require upper bound dependencies error for org.checkerframework:checker-qua>
        +-com.google.guava:guava:27.1-jre (managed) <-- com.google.guava:guava:>
          +-org.checkerframework:checker-qual:2.5.2
    and
        +-com.github.ben-manes.caffeine:caffeine:2.7.0
          +-org.checkerframework:checker-qual:2.6.0

    Require upper bound dependencies error for com.google.errorprone:error_pron>
        +-com.google.guava:guava:27.1-jre (managed) <-- com.google.guava:guava:>
          +-com.google.errorprone:error_prone_annotations:2.2.0
    and
        +-com.github.ben-manes.caffeine:caffeine:2.7.0
          +-com.google.errorprone:error_prone_annotations:2.3.3

assertTrue(ArbitraryInstances.get(Equivalence.class).equivalent(1, 1));
    assertFalse(ArbitraryInstances.get(Equivalence.class).equivalent(1, 2));
  }
  @SuppressWarnings("SelfComparison")
  public void testGet_comparable() {
    @SuppressWarnings("unchecked") 
    Comparable<Object> comparable = ArbitraryInstances.get(Comparable.class);
    assertEquals(0, comparable.compareTo(comparable));
    assertTrue(comparable.compareTo("") > 0);
    try {
      comparable.compareTo(null);
      fail();
    } catch (NullPointerException expected) {
    }
  }
  public void testGet_array() {
    assertThat(ArbitraryInstances.get(int[].class)).isEmpty();
    assertThat(ArbitraryInstances.get(Object[].class)).isEmpty();
    assertThat(ArbitraryInstances.get(String[].class)).isEmpty();
  }
  public void testGet_enum() {
    assertNull(ArbitraryInstances.get(EmptyEnum.class));
    assertEquals(Direction.UP, ArbitraryInstances.get(Direction.class));
  }
  public void testGet_interface() {
    assertNull(ArbitraryInstances.get(SomeInterface.class));
  }
  public void testGet_runnable() {
    ArbitraryInstances.get(Runnable.class).run();
  }