@Override
 public BeanBuilder<MapBean> setAll(Map<String, ? extends Object> propertyValueMap) {
   for (Entry<String, ? extends Object> entry : propertyValueMap.entrySet()) {
     bean.put(entry.getKey(), entry.getValue());
   }
   return this;
 }
 @Override
 public MapBeanBuilder setString(MetaProperty<?> metaProperty, String value) {
   // no type information to perform a conversion
   // this approach allows meta-property from one MapBean to be used with another
   bean.put(metaProperty.name(), value);
   return this;
 }
 @Override
 public MapBeanBuilder set(MetaProperty<?> metaProperty, Object value) {
   // this approach allows meta-property from one bean to be used with another
   bean.put(metaProperty.name(), value);
   return this;
 }
 @Override
 public MapBeanBuilder setString(String propertyName, String value) {
   // no type information to perform a conversion
   bean.put(propertyName, value);
   return this;
 }
 // -----------------------------------------------------------------------
 @Override
 public MapBeanBuilder set(String propertyName, Object value) {
   bean.put(propertyName, value);
   return this;
 }