class Google::Protobuf::RepeatedField::ProxyingEnumerator
such as #sort!, modifies itself rather than a new array, such as #sort
This only applies in cases where the calling function which created the enumerator,
propagates changes made by user of enumerator back to the original repeated field.
def each(*args, &block)
def each(*args, &block) results = [] external_enumerator.each_with_index do |val, i| result = yield(val) results << result #nil means no change occurred from yield; usually occurs when #to_a is called if result repeated_field[i] = result if result != val end end results end