class QuotedFormatProvider<T> extends BlockFormatProviderBase<T> {
    final private BigInteger myBefore;
    final private BigInteger myAfter;

    public QuotedFormatProvider(DocxContext<T> docx, int level, String styleId) {
        super(docx, styleId);

        BigInteger left;
        BigInteger before;
        BigInteger after;

        Style style = docx.getStyle(styleId);
        if (style != null) {
            // Should always be true
            left = docx.getHelper().safeIndLeft(style.getPPr(), 240);
            before = docx.getHelper().safeSpacingBefore(style.getPPr());
            after = docx.getHelper().safeSpacingAfter(style.getPPr());
        } else {
            left = BigInteger.valueOf(240);
            before = BigInteger.ZERO;
            after = BigInteger.ZERO;
        }

        BigInteger quoteLevel = BigInteger.valueOf(level);
        BigInteger leftInd = left.multiply(quoteLevel);

        myBefore = before;
        myAfter = after;
    }

    @Override
    public void open() {
        super.close();
        myDocx.addBlankLine(myBefore, myDocx.getRenderingOptions().DEFAULT_STYLE);
    }

    @Override
    public void close() {
        myDocx.addBlankLine(myAfter, myDocx.getRenderingOptions().DEFAULT_STYLE);
        super.close();
    }

    @Override
    public void adjustPPrForFormatting(PPr pPr) {<FILL_FUNCTION_BODY>}
}

//        // here we need to adjust for inherited left margin
//        BigInteger newLeftInd = myDocx.getHelper().safeIndLeft(pPr);
//        PPr styledPPr = myDocx.getHelper().getExplicitPPr(pPr);
//        if (styledPPr != null && styledPPr.getPBdr() != null && newLeftInd != null && newLeftInd.compareTo(myLeftInd) > 0) {
//            // it grew, word has the border hanging and we want to shift it by our left border spacing
//            CTBorder leftBorder = styledPPr.getPBdr().getLeft();
//            if (leftBorder != null && leftBorder.getSpace() != null && leftBorder.getSpace().compareTo(BigInteger.ZERO) > 0) {
//                //pPr.getInd().setLeft(newLeftInd.add(leftBorder.getSpace().multiply(BigInteger.valueOf(20))));
//                //
//                //T currentNode = myDocx.getContextFrame();
//                //if (currentNode instanceof Paragraph) {
//                //    int tmp = 0;
//                //}
//            }
//        }
    
<methods>public void <init>(DocxContext<T>, java.lang.String) ,public void adjustPPrForFormatting(org.docx4j.wml.PPr) ,public void close() ,public BlockFormatProvider<T> getBlockParent() ,public void getPPr(org.docx4j.wml.PPr) ,public void getParaRPr(org.docx4j.wml.RPr) ,public T getProviderFrame() ,public org.docx4j.wml.Style getStyle() ,public java.lang.String getStyleId() ,public void open() <variables>protected final non-sealed java.lang.String myBaseStyleId,protected final non-sealed DocxContext<T> myDocx,protected final non-sealed T myFrame,protected int myPCount,protected final non-sealed BlockFormatProvider<T> myParent