code: @SuppressWarnings("unchecked")
    <K1 extends K, V1 extends V> RemovalListener<K1, V1> getRemovalListener() {
      return (RemovalListener<K1, V1>)
          MoreObjects.firstNonNull(removalListener, NullListener.INSTANCE);
    }
docs: Make a safe contravariant cast now so we don't have to do it over and over.