code: public Marshaller getMarshaller(boolean reuse)
      throws JAXBException {
      if (!reuse || this.marshaller == null) {
        Marshaller marshaller = context.createMarshaller();
        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
        marshaller.setProperty(Marshaller.JAXB_ENCODING,         "UTF-8");
        this.marshaller = marshaller;
      }
      return this.marshaller;
    }
docs: Returns the marshaller that converts a tree data structure
  from Java objects to XML.
  @param reuse	whether to reuse an existing marshaller
  @return	the marshaller for the JAXB context
  @throws JAXBException if marshaller initialization fails