class InstructionOperator extends Instruction {
    private final OperatorBase operator;
    private final int opDataNumber;

    public InstructionOperator(OperatorBase operator, int opDataNumber) {
        this.operator = operator;
        this.opDataNumber = opDataNumber;
    }

    public OperatorBase getOperator() {
        return this.operator;
    }

    @Override
    public void execute(RunEnvironment environment, List<String> errorList) throws Exception {<FILL_FUNCTION_BODY>}

    @Override
    public String toString() {
        return "OP : " + this.operator.toString() + " OPNUMBER[" + this.opDataNumber + "]";
    }
}

        InstructionSetContext instructionSetContext = environment.getContext();
        ArraySwap parameters = environment.popArray(this.opDataNumber);
        try {
            OperateData result = this.operator.execute(instructionSetContext, parameters, errorList);
            environment.push(result);
            environment.programPointAddOne();
        } catch (QLException e) {
            throw new QLException(getExceptionPrefix(), e);
        } catch (Throwable t) {
            throw new QLBizException(getExceptionPrefix(), t);
        }
    
<methods>public non-sealed void <init>() ,public abstract void execute(com.ql.util.express.RunEnvironment, List<java.lang.String>) throws java.lang.Exception,public java.lang.String getExceptionPrefix() ,public java.lang.Integer getLine() ,public com.ql.util.express.instruction.detail.Instruction setLine(java.lang.Integer) <variables>private java.lang.Integer line