private List<ServerDebugVariable> createFrom(VmCallFrame frame) {
    if (frame.getLocals() == null) {
      return Collections.emptyList();
    } else {
      List<ServerDebugVariable> variables = new ArrayList<ServerDebugVariable>();

      // create a synthetic globals variable
      variables.add(ServerDebugVariable.createLibraryVariable(getTarget(), vmFrame.getLibraryId()));

      for (VmVariable var : frame.getLocals()) {
        ServerDebugVariable serverVariable = new ServerDebugVariable(getTarget(), var);

        variables.add(serverVariable);
      }

      return variables;
    }
  }