code: private static Map<String, Object> getMap(Object obj) {
      // Using a LinkedHashMap to maintain the original order of insertions. This is done to help
      // with handling unused parameters and makes testing easier as well.
      Map<String, Object> map = new LinkedHashMap<String, Object>();
      for (Map.Entry<String, Object> entry : Data.mapOf(obj).entrySet()) {
        Object value = entry.getValue();
        if (value != null && !Data.isNull(value)) {
          map.put(entry.getKey(), value);
        }
      }
      return map;
    }
docs: Constructs a new {@code Map<String, Object>} from an {@code Object}.
  
  <p>There are no null values in the returned map.