WriteMethod(JClass jClass, MappingNode mappingNode) { super("write"); addParameter(new JType(Writer.class), "writer"); addParameter(new JType(Delimiters.class), "delimiters"); getExceptions().add(new JType(IOException.class)); jClass.getImplementTypes().add(new JType(EDIWritable.class)); jClass.getMethods().add(this); this.jClass = jClass; this.mappingNode = mappingNode; this.trunacate = (mappingNode instanceof ContainerNode && ((ContainerNode)mappingNode).isTruncatable()); if(trunacate) { jClass.getRawImports().add(new JType(StringWriter.class)); jClass.getRawImports().add(new JType(List.class)); jClass.getRawImports().add(new JType(ArrayList.class)); jClass.getRawImports().add(new JType(EDIUtils.class)); jClass.getRawImports().add(new JType(DelimiterType.class)); } }