code: @Override
     public void writeClassBody(Definition def, Writer out) throws IOException
     {
        if (def.isUseAnnotation())
        {
           out.write("@AdministeredObject(adminObjectInterfaces = { ");
           out.write(def.getAdminObjects().get(numOfAo).getAdminObjectInterface());
           out.write(".class })\n");
        }
        out.write("public class " + getClassName(def) + " implements " +
              def.getAdminObjects().get(numOfAo).getAdminObjectInterface());
        if (def.isAdminObjectImplRaAssociation())
        {
           out.write(",\n");
           writeIndent(out, 1);
           out.write("ResourceAdapterAssociation, Referenceable, Serializable");
        }
        writeLeftCurlyBracket(out, 0);
        int indent = 1;
  
        writeIndent(out, indent);
        out.write("/** Serial version uid */\n");
        writeIndent(out, indent);
        out.write("private static final long serialVersionUID = 1L;\n\n");
  
        if (def.isAdminObjectImplRaAssociation())
        {
           writeWithIndent(out, indent, "/** The resource adapter */\n");
           writeIndent(out, indent);
           if (def.isRaSerial())
           {
              out.write("private ResourceAdapter ra;\n\n");
           }
           else
           {
              out.write("private transient ResourceAdapter ra;\n\n");
           }
  
           writeWithIndent(out, indent, "/** Reference */\n");
           writeWithIndent(out, indent, "private Reference reference;\n\n");
        }
        writeConfigPropsDeclare(def, out, indent);
  
        writeDefaultConstructor(def, out, indent);
  
        writeConfigProps(def, out, indent);
  
        if (def.isAdminObjectImplRaAssociation())
        {
           writeResourceAdapter(def, out, indent);
           writeReference(def, out, indent);
        }
        writeHashCode(def, out, indent);
        writeEquals(def, out, indent);
  
        writeRightCurlyBracket(out, 0);
     }
docs: Output class
  
  @param def definition
  @param out Writer
  @throws IOException ioException