class ParseConfigUtils {

  private void notifyItemsChangedNeedRefresh(Map<String, Object> before, Map<String, Object> after) {
    Map<String, Object> itemsCreated = new HashMap<>();
    Map<String, Object> itemsDeleted = new HashMap<>();
    Map<String, Object> itemsModified = new HashMap<>();
    if (before == null || before.isEmpty()) {
      updateHandler.handle("create", after);
      return;
    }
    if (after == null || after.isEmpty()) {
      updateHandler.handle("delete", before);
      return;
    }
    for (String itemKey : after.keySet()) {
      if (!before.containsKey(itemKey)) {
        itemsCreated.put(itemKey, after.get(itemKey));
      } else if (!after.get(itemKey).equals(before.get(itemKey))) {
        itemsModified.put(itemKey, after.get(itemKey));
      }
    }
    for (String itemKey : before.keySet()) {
      if (!after.containsKey(itemKey)) {
        itemsDeleted.put(itemKey, "");
      }
    }
    updateHandler.handle("create", itemsCreated);
    updateHandler.handle("set", itemsModified);
    updateHandler.handle("delete", itemsDeleted);
  }

  public  ParseConfigUtils(UpdateHandler updateHandler);
  private  ParseConfigUtils();

}