@Nonnull
protected JVar appendDeserializeStatement( @Nonnull JDefinedClass serializerClass, @Nonnull JMethod deserializeMethod, @Nonnull JVar deserializeFrom, @Nullable JVar wrapper, @Nonnull JVar formatVersion, @Nonnull FieldWithInitializationInfo fieldInfo ) {
assert wrapper != null;
deserializeMethod.body().directStatement( "//" + fieldInfo.getSimpleName() );
SerializeToGenerator serializeToHandler = getGenerator( fieldInfo );
Expressions readExpressions = serializeToHandler.createReadFromDeserializeFromExpression( this, serializerClass, deserializeFrom, wrapper, formatVersion, fieldInfo );
//Add the (optional) statements before
for ( JStatement expression : readExpressions.getBefore() ) {
deserializeMethod.body().add( expression );
}
//The field
JVar field = deserializeMethod.body().decl( serializeToHandler.generateFieldType( fieldInfo ), fieldInfo.getSimpleName(), readExpressions.getExpression() );
//Add the optional statements after
for ( JStatement expression : readExpressions.getAfter() ) {
deserializeMethod.body().add( expression );
}