private DeployBeanProperty createProp(
      int level,
      DeployBeanDescriptor<?> desc,
      Field field,
      Class<?> beanType,
      Method getter,
      Method setter) {

    DeployBeanProperty prop = createProp(desc, field);
    if (prop == null) {
      // transient annotation on unsupported type
      return null;
    } else {
      prop.setOwningType(beanType);
      prop.setName(field.getName());

      // the getter or setter could be null if we are using
      // javaagent type enhancement. If we are using subclass
      // generation then we do need to find the getter and setter
      prop.setReadMethod(getter);
      prop.setWriteMethod(setter);
      prop.setField(field);
      return prop;
    }
  }