In other words: the configuration file literally configures a stack. All attributes match Java attributes; the build task in JGroups creates the configuration schema out of the annotations used on the Protocol classes themselves, so when you want to contribute a new Protocol all you have to do is include it an put some annotations on it to define  the configurable fields.