code: public static void configure(final Object pBean, final Map<String, ?> pMapping, final boolean pLispToCamel) throws InvocationTargetException {
          // Loop over properties in mapping
          for (final Map.Entry<String, ?> entry : pMapping.entrySet()) {
              try {
                  // Configure each property in turn
                  final String property = StringUtil.valueOf(entry.getKey());
                  try {
                      setPropertyValue(pBean, property, entry.getValue());
                  }
                  catch (NoSuchMethodException ignore) {
                      // If invocation failed, convert lisp-style and try again
                      if (pLispToCamel && property.indexOf('-') > 0) {
                          setPropertyValue(pBean, StringUtil.lispToCamel(property, false), entry.getValue());
                      }
                  }
              }
              catch (NoSuchMethodException nsme) {
                  // This property was not configured
              }
              catch (IllegalAccessException iae) {
                  // This property was not configured
              }
          }
      }
docs: Configures the bean according to the given mapping.
  For each {@code Map.Entry} in {@code Map.values()},
  a method named
  {@code set + capitalize(entry.getKey())} is called on the bean,
  with {@code entry.getValue()} as its argument.
  <p/>
  Optionally, lisp-style names are allowed, and automatically converted
  to Java-style camel-case names.
  <p/>
  Properties that has no matching set-method in the bean, are simply
  discarded.
  
  @see StringUtil#lispToCamel(String)
  
  @param pBean    The bean to configure
  @param pMapping The mapping for the bean
  @param pLispToCamel Allow lisp-style names, and automatically convert
  them to Java-style camel-case.
  
  @throws NullPointerException if any of the parameters are null.
  @throws InvocationTargetException if an error occurs when invoking the
  setter-method.