private void populate(Object o) {
   if (o instanceof IStackFrame) {
     IStackFrame f = (IStackFrame) o;
     NesCVariableNameParser varPars =
         new NesCVariableNameParser(
             new NesCSeparatorFromCDTLaunch(f.getDebugTarget().getLaunch()));
     try {
       if (f.hasVariables()) {
         IVariable[] vars = f.getVariables();
         populate(vars, varPars);
       }
     } catch (DebugException e) {
       TinyOSDebugPlugin.getDefault().log("Exception while populating viewer.", e);
     }
   } else {
     clear();
   }
 }