code: public JsonComparator getComparator(List<String> context,
                                          JsonNode node1,
                                          JsonNode node2) {
          if (node1 == null) {
              if (node2 == null) {
                  return NODIFF_CMP;
              } else {
                  return null;
              }
          } else if (node2 == null) {
              return null;
          } else {
              if (node1 instanceof NullNode) {
                  if (node2 instanceof NullNode) {
                      return NODIFF_CMP;
                  } else {
                      return null;
                  }
              } else if (node2 instanceof NullNode) {
                  return null;
              }
              // Nodes are not null, and they are not null node
              if (node1.isContainerNode() && node2.isContainerNode()) {
                  if (node1 instanceof ObjectNode) {
                      return objectComparator;
                  } else if (node1 instanceof ArrayNode) {
                      return arrayComparator;
                  }
              } else if (node1.isValueNode() && node2.isValueNode()) {
                  return valueComparator;
              }
          }
          return null;
      }
docs: Returns the comparator for the give field, and nodes. This method can be
  overriden to customize comparison logic.