// this handles the "ref problem" - we don't want this parsers to be used if a "ref"
// defines the address so add a preprocessor to check for that and indicate that the
// exception should be handled internally, rather than shown to the user.
// we do this before the extra processors below so that this is called last,
// allowing other processors to check for conflicts between ref and other attributes
registerPreProcessor(new BlockAttribute(AbstractMuleBeanDefinitionParser.ATTRIBUTE_REF));
// the address parser sees only the endpoint attributes
enableAttributes(this, addressAttributes);
// we require either a reference, an address, or the attributes specified