code: private <V> V convertToMap(ValueMap valueMap) {
          final Map<String, Object> map = new LinkedHashMap<>(valueMap.size());
  
          valueMap.entrySet().forEach(new Consumer<Map.Entry<String, Object>>() {
              @Override
              public void accept(Map.Entry<String, Object> entry) {
  
                  Object value = entry.getValue();
  
                  /* If the value is a value container then grab what is inside. */
                  if (value instanceof ValueContainer) {
                      ValueContainer valueContainer = ((ValueContainer) entry.getValue());
                      value = valueContainer.toValue();
                  }
  
                  /* If value is a Value then pull the real value. */
                  if (value instanceof Value) {
                      map.put(entry.getKey(), ((Value) value).toValue());
                  } else if (value instanceof ValueMap) {
                      /* If value is a value map then convert it into a regular map. */
                      map.put(entry.getKey(), convertToMap(((ValueMap) value)));
                  } else if (value instanceof List) {
                      map.put(entry.getKey(), convertList(value, mapper.get()));
                  } else {
                      map.put(entry.getKey(), value);
                  }
  
              }
          });
  
          return (V) map;
      }
docs: Helper method.
  Converts a value map into a regular map of Java basic types.
  
  @param valueMap valueMap
  @param <V>      V
  @return regular map