code: public String process(XProperty field) {
          String fieldName = field.getName();
          String getter = "get" + firstLetterToUpperCase(fieldName) + "()";
          return "if (concrete." + getter + " == null) {\n" +
                  "    out.writeByte(0);\n" +
                  "} else {\n" +
                  "    out.writeByte(1);\n" +
                  "    out.writeUTF(concrete." + getter + ".getClass().getName());\n" +
                  "    com.gemstone.gemfire.DataSerializer.writeEnum(concrete." + getter + ", out);\n" +
                  "}\n";
      }
docs: todo: warn if enum contains mutable fields?