This is quite a long method (not according to @danfruehauf), but to me, yes.  Can it be split up?