code: private static final boolean match(Object o1, Object o2) {
          return o1 instanceof String[] && o2 instanceof String[]
                          ? Arrays.deepEquals((String[]) o1, (String[]) o2)
                          : AdapterUtil.match(o1, o2);
      }
docs: Utility method that does a shallow match of two objects,
  or, if both are String[], then a deep match.
  
  @param o1 first object
  @param o2 second object
  @return true if they match. Otherwise false.