@Override
    public void toData(PdxWriter out) {
      out.writeField("aChar", aChar, char.class);
      out.writeField("aBoolean", aBoolean, boolean.class);
      out.writeField("aByte", aByte, byte.class);
      out.writeField("aShort", aShort, short.class);
      out.writeField("anInt", anInt, int.class);
      out.writeField("aLong", aLong, long.class);
      out.writeField("aFloat", aFloat, float.class);
      out.writeField("aDouble", aDouble, double.class);
      out.writeField("aDate", aDate, Date.class);
      out.writeField("aString", aString, String.class);
      out.writeField("anObject", anObject, Object.class);
      out.writeField("aMap", aMap, Map.class);
      out.writeField("aCollection", aCollection, Collection.class);
      out.writeField("aBooleanArray", aBooleanArray, boolean[].class);
      out.writeField("aCharArray", aCharArray, char[].class);
      out.writeField("aByteArray", aByteArray, byte[].class);
      out.writeField("aShortArray", aShortArray, short[].class);
      out.writeField("anIntArray", anIntArray, int[].class);
      out.writeField("aLongArray", aLongArray, long[].class);
      out.writeField("aFloatArray", aFloatArray, float[].class);
      out.writeField("aDoubleArray", aDoubleArray, double[].class);
      out.writeField("aStringArray", aStringArray, String[].class);
      out.writeField("anObjectArray", anObjectArray, Object[].class);
      // TODO test other types of Object[] like SimpleClass[].
      out.writeField("anArrayOfByteArray", anArrayOfByteArray, byte[][].class);
    }
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