def do_init_cached_fields(self):
        """
        Initialize each fields of the fields_desc dict, or use the cached
        fields information
        """

        cls_name = self.__class__

        # Build the fields information
        if Packet.class_default_fields.get(cls_name, None) is None:
            self.prepare_cached_fields(self.fields_desc)

        # Use fields information from cache
        if not Packet.class_default_fields.get(cls_name, None) is None:
            self.default_fields = Packet.class_default_fields[cls_name]
            self.fieldtype = Packet.class_fieldtype[cls_name]
            self.packetfields = Packet.class_packetfields[cls_name]

            # Deepcopy default references
            for fname in Packet.class_default_fields_ref[cls_name]:
                value = copy.deepcopy(self.default_fields[fname])
                setattr(self, fname, value)