Uso de Target en Picasso en el adaptador

Estoy teniendo grandes problemas con un objetivo dentro de un adaptador. Estoy confundido acerca de la documentación en el código

Objetos implementando esta clase.debe tener una implementación de trabajo de {@link #equals (Object)} y {@link #hashCode ()} para un almacenamiento interno adecuado. Las instancias de esta interfaz también se compararán para determinar si se está produciendo el reciclaje de vistas. Se recomienda que agregue esta interfaz directamente a un tipo de vista personalizada cuando la use en un adaptador para garantizar un comportamiento de reciclaje correcto.

Estoy tratando de usar el objetivo de esta manera:

class CustomTarget implements Target {
    private ImageView imageView;

    public CustomTarget(ImageView imageView) {
        this.imageView = imageView;
    }

    @Override
    public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) {
        imageView.setImageDrawable(new RoundedAvatarDrawable(bitmap));
    }

    @Override
    public void onBitmapFailed(Drawable errorDrawable) {
        imageView.setImageDrawable(errorDrawable);
    }

    @Override
    public void onPrepareLoad(Drawable placeHolderDrawable) {
        imageView.setImageDrawable(placeHolderDrawable);
    }

    @Override
    public boolean equals(Object o) {
        return imageView.equals(o);
    }

    @Override
    public int hashCode() {
        return imageView.hashCode();
    }
}

 @Override
public View getView(int position, View v, ViewGroup parent) {
....
    RoundedAvatarDrawable r = new RoundedAvatarDrawable(BitmapFactory.decodeResource(mContext.getResources(), R.drawable.ic_avatar_seahorse));
    ImageCacheController.with(mContext).getPicasso().load(member.getPicture_url()).resize(100, 100).centerCrop().placeholder(r).error(r).into(new CustomTarget(viewHolder.ivAvatar));
....
}

No funciona y las imágenes cambian entre sí al azar.

Respuestas a la pregunta(2)

Su respuesta a la pregunta