code: public <T> T toObject(Class<T> type) {
          Collection<PropertyDescriptor> accessibleProperties = getAccessiblePropertiesFromBean(type);
          T bean;
          try {
              bean = type.newInstance();
              for (PropertyDescriptor d : accessibleProperties) {
                  doSetPropertyOnBean(bean, d);
              }
              return bean;
          } catch (InstantiationException e) {
              throw new IllegalStateException(e);
          } catch (IllegalAccessException e) {
              throw new IllegalStateException(e);
          } catch (InvocationTargetException e) {
              throw new IllegalStateException(e);
          }
      }
docs: reconstructs the original object the {@link BeanDescription} is representing.