protected CycList unescape(CycList cycList) {
    CycList unescapedCycList = new CycList();
    final int cycList_size = cycList.getProperListSize();
    for (int i = 0; i < cycList_size; i++) {
      Object obj = cycList.get(i);
      if (obj instanceof CycList)
        unescapedCycList.add(unescape((CycList) obj));
      else if (obj instanceof String) {
        unescapedCycList.add(StringUtils.unescapeDoubleQuotes((String) obj));
      }
      else
        unescapedCycList.add(obj);
    }
    if (! cycList.isProperList()) {
      Object dottedElement = cycList.getDottedElement();
      if (dottedElement instanceof CycList)
        dottedElement = unescape((CycList) dottedElement);
      else if (dottedElement instanceof String) {
        dottedElement = StringUtils.unescapeDoubleQuotes((String) dottedElement);
      }
      unescapedCycList.setDottedElement(dottedElement);
    }
    return unescapedCycList;
  }