class PdfPSXObject extends PdfTemplate {

    /**
     * Creates a new instance of PdfPSXObject
     */
    protected PdfPSXObject() {
        super();
    }

    /**
     * Constructs a PSXObject
     *
     * @param wr the PdfWriter
     */
    public PdfPSXObject(PdfWriter wr) {
        super(wr);
    }

    /**
     * Gets the stream representing this object.
     *
     * @param compressionLevel the compressionLevel
     * @return the stream representing this template
     * @since 2.1.3    (replacing the method without param compressionLevel)
     */

    PdfStream getFormXObject(int compressionLevel) {<FILL_FUNCTION_BODY>}

    /**
     * Gets a duplicate of this <CODE>PdfPSXObject</CODE>. All the members are copied by reference but the buffer stays
     * different.
     *
     * @return a copy of this <CODE>PdfPSXObject</CODE>
     */

    public PdfContentByte getDuplicate() {
        PdfPSXObject tpl = new PdfPSXObject();
        tpl.writer = writer;
        tpl.pdf = pdf;
        tpl.thisReference = thisReference;
        tpl.pageResources = pageResources;
        tpl.separator = separator;
        return tpl;
    }
}

        PdfStream s = new PdfStream(content.toByteArray());
        s.put(PdfName.TYPE, PdfName.XOBJECT);
        s.put(PdfName.SUBTYPE, PdfName.PS);
        s.flateCompress(compressionLevel);
        return s;
    
<methods>public void beginVariableText() ,public static com.lowagie.text.pdf.PdfTemplate createTemplate(com.lowagie.text.pdf.PdfWriter, float, float) ,public void endVariableText() ,public com.lowagie.text.Rectangle getBoundingBox() ,public com.lowagie.text.pdf.PdfContentByte getDuplicate() ,public com.lowagie.text.pdf.PdfTransparencyGroup getGroup() ,public float getHeight() ,public com.lowagie.text.pdf.PdfIndirectReference getIndirectReference() ,public com.lowagie.text.pdf.PdfOCG getLayer() ,public int getType() ,public float getWidth() ,public void setBoundingBox(com.lowagie.text.Rectangle) ,public void setGroup(com.lowagie.text.pdf.PdfTransparencyGroup) ,public void setHeight(float) ,public void setLayer(com.lowagie.text.pdf.PdfOCG) ,public void setMatrix(float, float, float, float, float, float) ,public void setWidth(float) <variables>public static final int TYPE_IMPORTED,public static final int TYPE_PATTERN,public static final int TYPE_TEMPLATE,protected com.lowagie.text.Rectangle bBox,protected com.lowagie.text.pdf.PdfTransparencyGroup group,protected com.lowagie.text.pdf.PdfOCG layer,protected com.lowagie.text.pdf.PdfArray matrix,protected com.lowagie.text.pdf.PageResources pageResources,protected com.lowagie.text.pdf.PdfIndirectReference thisReference,protected int type