private boolean byteArrayofArraysEqual(byte[][] o1, byte[][] o2) {
      if (o1 == null) {
        return o2 == null;
      } else if (o2 == null) {
        return false;
      } else {
        if (o1.length != o2.length) {
          return false;
        }
        for (int i = 0; i < o1.length; i++) {
          if (!Arrays.equals(o1[i], o2[i])) {
            return false;
          }
        }
      }
      return true;
    }
Init fields using base as appropriate, but does not initialize aQueryObject field.

@param base The base value for all fields. Fields are all set to a value using base as
       appropriate.
@param useNulls If true, fill in nulls for those fields that can be set to null (to test null
       values), if false, then use a valid value (to test non-null values).
geode-core/src/integrationTest/java/org/apache/geode/pdx/PdxSerializableJUnitTest.java