question: mainly used by unit tests to replace the interceptor chain with the starting point passed in . concode_field_sep CommandInterceptor firstInChain concode_elem_sep ReentrantLock lock concode_elem_sep Log log concode_field_sep boolean containsInterceptorType concode_elem_sep void printChainInfo concode_elem_sep boolean containsInstance concode_elem_sep Object invoke concode_elem_sep List<CommandInterceptor> getInterceptorsWhichExtend concode_elem_sep void validateCustomInterceptor concode_elem_sep List<CommandInterceptor> asList concode_elem_sep boolean addInterceptorAfter concode_elem_sep boolean replaceInterceptor concode_elem_sep void addInterceptor concode_elem_sep int size concode_elem_sep List<CommandInterceptor> getInterceptorsWithClassName concode_elem_sep void removeInterceptor concode_elem_sep void removeInterceptor concode_elem_sep boolean addInterceptorBefore concode_elem_sep String toString concode_elem_sep void assertNotAdded concode_elem_sep void appendInterceptor concode_elem_sep boolean isFirstInChain concode_elem_sep CommandInterceptor getFirstInChain
target: void function ( CommandInterceptor arg0 ) { this . firstInChain = arg0 ; }