@classmethod
def from_stream(cls, stream_rdr, offset):
    """
        Return an |_IfdEntry| subclass instance containing the tag and value
        of the tag parsed from *stream_rdr* at *offset*. Note this method is
        common to all subclasses. Override the ``_parse_value()`` method to
        provide distinctive behavior based on field type.
        """
    tag_code = stream_rdr.read_short(offset, 0)
    value_count = stream_rdr.read_long(offset, 4)
    value_offset = stream_rdr.read_long(offset, 8)
    value = cls._parse_value(stream_rdr, offset, value_count, value_offset)
    return cls(tag_code, value)
