apache chain of responsibility