public static List<String> userClassToList(byte[] buf) {
        if (buf == null) {
            return null;
        }
        
        LinkedList<String> list = new LinkedList<String>();
        int i=0;
        while (i<buf.length) {
            int size = unsignedByte(buf[i++]);
            int instock = buf.length - i;
            if (size > instock) {
                size = instock;
            }
            list.add(DHCPPacket.bytesToString(buf, i, size));
            i += size;
        }
        return list;
    }