docs: protected void initialize() {
          this.mappedFields = new HashMap<String, PropertyDescriptor>();
          PropertyDescriptor[] pds = BeanUtils.getPropertyDescriptors(mappedClass);
          if (checkProperties) {
              mappedProperties = new HashSet<String>();
          }
          for (int i = 0; i < pds.length; i++) {
              PropertyDescriptor pd = pds[i];
              if (pd.getWriteMethod() != null) {
                  if (checkProperties) {
                      this.mappedProperties.add(pd.getName());
                  }
                  this.mappedFields.put(pd.getName().toLowerCase(), pd);
                  for (String underscoredName : underscoreName(pd.getName())) {
                      if (underscoredName != null
                              && !pd.getName().toLowerCase().equals(underscoredName)) {
                          this.mappedFields.put(underscoredName, pd);
                      }
                  }
              }
          }
      }