class TaintFrame extends Frame<Taint> {

    public TaintFrame(int numLocals) {
        super(numLocals);
    }



    public String toString(MethodGen method) {<FILL_FUNCTION_BODY>}

    @Override
    public String toString() {
        return toString(new String[getNumLocals()]);
    }

    /**
     * The toString method are intended for debugging.
     * To see the visual state of TaintFrame in IntelliJ, Right-Click on the variable and select "View Text".
     *
     * @param variableNames List of variables names that will be map to local sloths.
     * @return View of the stack followed by the local variables
     */
    public String toString(String[] variableNames) {
        StringBuilder str = new StringBuilder();
        try {
            str.append("+============================\n");
            if(!FindSecBugsGlobalConfig.getInstance().isDebugTaintState()) {
                str.append("| /!\\ Warning : The taint debugging is not fully activated.\n");
            }
            str.append("| [[ Stack ]]\n");
            int stackDepth = getStackDepth();
            for (int i = 0; i < stackDepth; i++) {
                Taint taintValue = getStackValue(i);
                str.append(String.format("| %s. %s {%s}%n",
                        i, taintValue.getState().toString(), taintValue.toString()));
            }
            if (stackDepth == 0) {
                str.append("| Empty\n");
            }
            str.append("|============================\n");
            str.append("| [[ Local variables ]]\n");
            int nb = getNumLocals();
            for (int i = 0; i < nb; i++) {
                Taint taintValue = getValue(i);
                str.append("| ").append(variableNames[i]).append(" = ")
                        .append(taintValue == null ? "<not set>" : taintValue.toString())
                        .append("\n");
            }
            str.append("+============================\n");
        } catch (DataflowAnalysisException e) {
            str.append("Oups "+e.getMessage());
        }

        return str.toString();
    }
}

        String[] variables = new String[method.getLocalVariables().length];
        LocalVariableGen[] variablesGen = method.getLocalVariables();
        for(int i=0; i<variablesGen.length ;i++) {
            variables[i] = variablesGen[i].getName();
        }
        return toString(variables);
    
<no_super_class>