You could write this:

```ruby
descriptors.inject(transition_list) do |a, descriptor|
  a << descriptor.id if descriptor.transition?
  descriptor.descriptors ? find_descriptor_transitions(descriptor.descriptors, a) : a
end
```
for a little more compactness