I tried that, but the problem is that there are callers depending upon getting the first item in this situation. I don't fully understand why xblocks can have more than one parent, but it does seem to come up in the unit tests. The code I refactored into this method had the logging, so I just left it as is.

Let me know how you feel about this.