class MavenXpp3Writer {
    // --------------------------/
    // - Class/Member Variables -/
    // --------------------------/

    private final MavenStaxWriter delegate = new MavenStaxWriter();

    // -----------/
    // - Methods -/
    // -----------/

    public MavenXpp3Writer() {
        this(false);
    }

    protected MavenXpp3Writer(boolean addLocationInformation) {
        delegate.setAddLocationInformation(addLocationInformation);
    }

    /**
     * Method setFileComment.
     *
     * @param fileComment a fileComment object.
     */
    public void setFileComment(String fileComment) {
        delegate.setFileComment(fileComment);
    } // -- void setFileComment( String )

    /**
     * Method setStringFormatter.
     *
     * @param stringFormatter
     */
    public void setStringFormatter(InputLocation.StringFormatter stringFormatter) {
        delegate.setStringFormatter(
                stringFormatter != null
                        ? new org.apache.maven.api.model.InputLocation.StringFormatter() {
                            @Override
                            public String toString(org.apache.maven.api.model.InputLocation location) {
                                return stringFormatter.toString(new InputLocation(location));
                            }
                        }
                        : null);
    } // -- void setStringFormatter( InputLocation.StringFormatter )

    /**
     * Method write.
     *
     * @param writer a writer object.
     * @param model a model object.
     * @throws IOException java.io.IOException if any.
     */
    public void write(Writer writer, Model model) throws IOException {
        try {
            delegate.write(writer, model.getDelegate());
        } catch (XMLStreamException e) {
            throw new IOException(e);
        }
    } // -- void write( Writer, Model )

    /**
     * Method write.
     *
     * @param stream a stream object.
     * @param model a model object.
     * @throws IOException java.io.IOException if any.
     */
    public void write(OutputStream stream, Model model) throws IOException {<FILL_FUNCTION_BODY>} // -- void write( OutputStream, Model )
}

        try {
            delegate.write(stream, model.getDelegate());
        } catch (XMLStreamException e) {
            throw new IOException(e);
        }
    
<no_super_class>