public void appendSource(IndentingStringWriter writer) throws IOException {
   Annotation.appendAnnotationsSourceOf(annotations).to(writer);
   Modifier.appendModifiersSourceOf(modifiers).to(writer);
   appendReturnType(writer);
   writer.append(name);
   loopWrapped(parameters)
       .withPrefix("(")
       .andForEach(generateSource())
       .commaSeperated()
       .withSuffix(")")
       .to(writer);
   loop(exceptions)
       .withPrefix(" throws ")
       .commaSeperated()
       .andForEach(generateSource())
       .to(writer);
   body.appendSource(writer);
 }
 public void appendSource(IndentingStringWriter indentingStringWriter) throws IOException {
   innerStatement.appendSource(indentingStringWriter);
   indentingStringWriter.append(".getObject()");
 }
 void appendReturnType(IndentingStringWriter writer) throws IOException {
   returnType.appendSource(writer);
   writer.append(" ");
 }