private void initAccessors() { if (field == null || readMethod == null) { MetaDataObject parent = getParent(); Class<?> beanClass = parent.getImplementationClass(); String name = getName(); this.field = ClassUtils.findClassField(beanClass, name); this.readMethod = ClassUtils.findGetter(beanClass, name); PreconditionUtil.assertFalse("no getter or field found ", field == null && readMethod == null); Class<?> rawType = field != null ? field.getType() : readMethod.getReturnType(); writeMethod = ClassUtils.findSetter(beanClass, name, rawType); } }