code: @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);
          }
      }
docs: 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 {@link Map#clear() clear()} differs from the Map contract in that
  the mappings are not actually removed from the map (the mappings for a
  BeanMap are fixed).