JCTree.JCExpression objectInputClass = maker.Ident(utils.getName("java"));
objectInputClass = maker.Select(objectInputClass, utils.getName("io"));
objectInputClass = maker.Select(objectInputClass, utils.getName("ObjectInput"));
MethodBlockBuilder methodBlockBuilder = new MethodBlockBuilder(maker, utils, classDecl);
JCTree.JCBlock writeExternalBlock = methodBlockBuilder.writeExternalBlock();
JCTree.JCMethodDecl writeExternalMethod = getWriteExternalMethod(utils, ioExceptionClass,
methodModifiers, objectOutputClass, writeExternalBlock);
JCTree.JCBlock readExternalBlock = methodBlockBuilder.readExternalBlock();
JCTree.JCMethodDecl readExternalMethod = getReadExternalMethod(utils, ioExceptionClass, classNotFoundExceptionClass, methodModifiers, objectInputClass, readExternalBlock);
JCTree.JCBlock prepareFlagsBlock = methodBlockBuilder.prepareFlagsBlock();
JCTree.JCMethodDecl prepareFlagsMethod = getPrepareFlagsMethod(utils, prepareFlagsBlock);
classDecl.defs = classDecl.defs.append(writeExternalMethod);
classDecl.defs = classDecl.defs.append(readExternalMethod);