public String toString() {
            StringBuilder sb = new StringBuilder();

            sb.append("[");
            boolean first = true;

            for(int i = 0; i < list.position(); i++) {
                int offset = i;
                int length = 0;
                while(offset + length < list.position() && list.get(offset + length) != 0) {
                    length++;
                }

                byte[] nameBytes = new byte[length];
                for(int j = 0; j < length; j++) {
                    nameBytes[j] = list.get(offset + j);
                }

                if (first) {
                    first = false;
                } else {
                    sb.append(", ");
                }

                sb.append('"').append(cs.decode(ByteBuffer.wrap(nameBytes))).append('"');

                i = offset + length;
            }

            sb.append("]");

            return sb.toString();
        }