@Override
    public void clear() {
        if (bean == null) {
            return;
        }
        Class<?> beanClass = null;
        try {
            beanClass = bean.getClass();
            bean = beanClass.newInstance();
        } catch (Exception e) {
            throw new UnsupportedOperationException("Could not create new instance of class: " + beanClass);
        }
    }
This method reinitializes the bean map to have default values for the
bean's properties.  This is accomplished by constructing a new instance
of the bean which the map uses as its underlying data source.  This
behavior for {@code Map#clear()} differs from the Map contract in that
the mappings are not actually removed from the map (the mappings for a
BeanMap are fixed).
querydsl-core/src/main/java/com/querydsl/core/util/BeanMap.java