I think a callback method means that the container will automatically call it within the lifecycle of a filter, which makes B true, since a container will call init(), doFilter() and destroy().
One more question regarding option C. The doFilter method of which interface Filter or FilterChain?
Exactly! That's what makes this question tricky I think. Because doFilter() can be called by FilterChain object, that makes it not "always a container call back method"
cheers