У меня похожий винт уже пару лет всюду за мной в рюкзаке, в машине, на даче итд и в жару и в мороз, пока работает :) Так что не думаю, что есть повод бояться не довезти его до заграницы)
Вернее, разобрать, конечно, можно со стороны компилятора. Но видимо, компилятор эклипса глупее, чем родной из JDK. Там и не такие косяки мы наблюдали порой. Но тем не менее это не отрицает предложенного способа, он вполне нормален, просто перестраховка излишняя. Я даже примерно понимаю компиляторскую логику при разборе этого выражения :)
Хм, причём тут преобразование типов? O_o
Никакого преобразования типов нету в данном случае, вы что? К чему преобразование? К типу I? Какое там преобразование, у вас объект и есть этого типа. Здесь вы просто явно указываете, что метод пытаетесь вызвать именно у имплементанта интерфейса. Иначе компилятор тупо вас не поймёт. О чём он и сказал вам напрямую (см. выше): Type mismatch: cannot convert from capture#2-of? to I
Ну, мне показалось, что это так. Извините, если не так, пока не могу проверить…
Ваше разбитие на две части, кстати, как раз эту проблему неприведения и решает. Вроде логично, что должно быть именно так.
Комментаторам выше: просто если бэдов уже столько, что не перераспределяются прозрачно и незаметно для юзера, то это верный признак того, что диск сильно если не умирает, то сильно болеет. Никакого смысла оставлять его при действующей гарантии нету, должны обменять без вопросов вообще.