class SetLineDashPattern extends OperatorProcessor
{
    private static final Logger LOG = LogManager.getLogger(SetLineDashPattern.class);
    
    public SetLineDashPattern(PDFStreamEngine context)
    {
        super(context);
    }

    @Override
    public void process(Operator operator, List<COSBase> arguments) throws MissingOperandException
    {<FILL_FUNCTION_BODY>}

    @Override
    public String getName()
    {
        return OperatorName.SET_LINE_DASHPATTERN;
    }
}

        if (arguments.size() < 2)
        {
            throw new MissingOperandException(operator, arguments);
        }
        COSBase base0 = arguments.get(0);
        if (!(base0 instanceof COSArray))
        {
            return;
        }
        COSBase base1 = arguments.get(1);
        if (!(base1 instanceof COSNumber))
        {
            return;
        }
        COSArray dashArray = (COSArray) base0;
        int dashPhase = ((COSNumber) base1).intValue();
        
        for (COSBase base : dashArray)
        {
            if (base instanceof COSNumber)
            {
                COSNumber num = (COSNumber) base;
                if (Float.compare(num.floatValue(), 0) != 0)
                {
                    break;
                }
            }
            else
            {
                LOG.warn("dash array has non number element {}, ignored", base);
                dashArray = new COSArray();
                break;
            }
        }
        getContext().setLineDashPattern(dashArray, dashPhase);
    
<methods>public boolean checkArrayTypesClass(List<org.apache.pdfbox.cos.COSBase>, Class<?>) ,public abstract java.lang.String getName() ,public abstract void process(org.apache.pdfbox.contentstream.operator.Operator, List<org.apache.pdfbox.cos.COSBase>) throws java.io.IOException<variables>private final non-sealed org.apache.pdfbox.contentstream.PDFStreamEngine context