decl_buf.append(" ");
decl_buf.append(visitor_name);
decl_buf.append("(");
decl_buf.append(type_name);
decl_buf.append(" arg");
Iterator<Field> fields = type.fieldIterator();
while (fields.hasNext()) {
Field field = fields.next();
if (!field.getType().equals(type.getId())) {
decl_buf.append(", ");
decl_buf.append(genAcceptor(field));