// by this function
// v1.0.x code
// bw.bind(name, o.getClass(), params, "", o);
// v1.1 compliant
bw.bind(name, (Type)o.getClass(), params, "", o, o.getClass().getAnnotations());
return (T) o;
} catch (Exception e) {
throw new UnexpectedException(e);
}