DRY: you have the same lines of code 8 times in this method. Consider extracting a helper method that takes a delegate and use anonymous delegates inside the code.