Hi Itay, I am not aware of a straightforward way, but I can think of two ways to accomplish that. I've used the first one for testing purposes.
1. Create a new message definition that is identical to the original, but where the optional field is changed to repeated. Thanks to binary representation compatibility, all messages that conform to the original schema, will be accepted by the new schema, and you'll get all the repeated fields instead of only the last value.
2. If the field is a top level field, you can use CodedInputStream to parse the bytes and look for a tag number that repeats twice.