@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(CassandraClusterFactoryBean.class); builder.setLazyInit(parserContext.isDefaultLazyInit()); builder.getRawBeanDefinition().setDestroyMethodName("destroy"); builder.getRawBeanDefinition().setSource(parserContext.extractSource(element)); if (parserContext.isNested()) { // inner bean definitions must have same scope as containing bean builder.setScope(parserContext.getContainingBeanDefinition().getScope()); } doParse(element, parserContext, builder); return builder.getBeanDefinition(); }