cmds = this.readVarData(this.varCMDs);
cmds = readVarData(varCMDs);
    private void readSFAttributes() throws SmartFrogException, RemoteException {        logger = sfResolve(varLogger,logger,false);        printStack = sfResolve(varPrintStack, printStack,false);        //Optional attributes        delayBetweenCmds = sfResolve(varDelayBetweenCmds,delayBetweenCmds,false);        //4 methods for intf...        waitSignalGoAhead = sfResolve(varWaitSignalGoAhead,waitSignalGoAhead,false);        shouldTerminate = sfResolve(varShouldTerminate,shouldTerminate,false);        shouldDetach = sfResolve(varShouldDetach,shouldDetach,false);        lineReturn = sfResolve(varLineReturn, lineReturn, false);        processId = sfResolve(varSFProcessId, processId, false);        shellCommand = sfResolve(varShellCommand,shellCommand, false);        workDir = sfResolve(varSFWorkDir, workDir, false);        exitCmd = sfResolve(varExitCmd, exitCmd, false);        useExitCmd =sfResolve(varUseExitCmd, useExitCmd, false);        shellCommandAtt = this.readShellAttributes();        cmds = this.readVarData(this.varCMDs);        //sfResolve(varEnvProp, envProp , false);        envVarsVector = (Vector)sfResolve(varEnvProp, envVarsVector,                                                                false);        if( (envVarsVector != null) && !(envVarsVector.isEmpty())) {            envVarsVector.trimToSize();            envProp = new String[envVarsVector.size()];            envVarsVector.copyInto(envProp);        }        // Mandatory attributes        try{            processName = sfResolve(varSFProcessName,processName,true);        } catch (SmartFrogResolutionException e) {            log("Failed to read mandatory attribute (readSFAttributes): "+e.toString(),1);            throw e;        }        outputStreamObj = (OutputStreamIntf) sfResolve(varOutputStreamTo, outputStreamObj , false);        errorStreamObj  = (StreamIntf) sfResolve(varErrorStreamTo, errorStreamObj , false);        printMsgImp  =   (PrintMsgInt) sfResolve(varOutputMsgTo, printMsgImp , false);        printErrMsgImp = (PrintErrMsgInt) sfResolve(varErrorMsgTo, printErrMsgImp , false);    }