private Lookup readLookup(Class<?> declaringClass)
      throws IllegalAccessException, InvocationTargetException, NoSuchFieldException {
    try {
      return safeReadLookup(declaringClass);
    } catch (NoSuchMethodException e) {
      try {
        return androidLookup(declaringClass);
      } catch (InstantiationException | NoSuchMethodException instantiationException) {
        return legacyReadLookup();
      }
    }
  }
Handles default methods by directly invoking the default method code on the interface. The bindTo
method must be called on the result before invoke is called.
core/src/main/java/feign/DefaultMethodHandler.java