private static boolean mapsEqual(SFormsFastMapDirect map1, SFormsFastMapDirect map2) {

    if (map1 == null) {
      return map2 == null;
    }
    else if (map2 == null) {
      return false;
    }

    if (map1.size() != map2.size()) {
      return false;
    }

    for (Entry<Integer, FastSparseSet<Integer>> ent2 : map2.entryList()) {
      if (!Objects.equals(map1.get(ent2.getKey()), ent2.getValue())) {
        return false;
      }
    }

    return true;
  }
private static boolean mapsEqual(SFormsFastMapDirect map1, SFormsFastMapDirect map2)