code: public String stringValue() throws OtpErlangException {
          if (!isProper()) {
              throw new OtpErlangException("Non-proper list: " + this);
          }
          final int[] values = new int[arity()];
          for (int i = 0; i < values.length; ++i) {
              final OtpErlangObject o = elementAt(i);
              if (!(o instanceof OtpErlangLong)) {
                  throw new OtpErlangException("Non-integer term: " + o);
              }
              final OtpErlangLong l = (OtpErlangLong) o;
              values[i] = l.intValue();
          }
          return new String(values, 0, values.length);
      }
docs: Convert a list of integers into a Unicode string, interpreting each
  integer as a Unicode code point value.
  
  @return A java.lang.String object created through its constructor
  String(int[], int, int).
  
  @exception OtpErlangException
  for non-proper and non-integer lists.
  
  @exception OtpErlangRangeException
  if any integer does not fit into a Java int.
  
  @exception java.security.InvalidParameterException
  if any integer is not within the Unicode range.
  
  @see String#String(int[], int, int)