/**
* Extracts type of current property.
*/
protected Class extractType(BeanProperty bp) {
Getter getter = bp.getGetter(bp.declared);
if (getter != null) {
if (bp.index != null) {
Class type = getter.getGetterRawComponentType();
return type == null ? Object.class : type;
}
return getter.getGetterRawType();
}
return null; // this should not happens
}