Buggy code:
public CommonDeployment getDeploymentMD ( ) { } public synchronized DataSource getValue ( ) throws IllegalArgumentException , IllegalStateException { } public Injector < TransactionIntegration > getTransactionIntegrationInjector ( ) { } public Injector < Driver > getDriverInjector ( ) { } public Injector < ManagementRepository > getManagementRepositoryInjector ( ) { } public Injector < DriverRegistry > getDriverRegistryInjector ( ) { } public Injector < SubjectFactory > getSubjectFactoryInjector ( ) { } public Injector < CachedConnectionManager > getCcmInjector ( ) { } protected String buildConfigPropsString ( Map < String , String > configProps ) { } protected TransactionIntegration getTransactionIntegration ( ) { } private ClassLoader driverClassLoader ( ) { } private static final AbstractDataSourceService . SetContextLoaderAction CLEAR_ACTION = new AbstractDataSourceService . SetContextLoaderAction ( null ) ; private static class SetContextLoaderAction implements PrivilegedAction < Void > { private final ClassLoader classLoader ; public SetContextLoaderAction ( final ClassLoader classLoader ) { } public Void run ( ) { } } protected class AS7DataSourceDeployer extends AbstractDsDeployer { private final DataSource dataSourceConfig ; private final XaDataSource xaDataSourceConfig ; private ServiceContainer serviceContainer ; public AS7DataSourceDeployer ( XaDataSource xaDataSourceConfig ) { } public AS7DataSourceDeployer ( org . jboss . jca . common . api . metadata . ds . DataSource dataSourceConfig ) { } public CommonDeployment deploy ( ServiceContainer serviceContainer ) throws DeployException { } @ Override protected ClassLoader getDeploymentClassLoader ( String uniqueId ) { } @ Override protected String [ ] bindConnectionFactory ( String deployment , final String jndi , Object cf ) throws Throwable { } @ Override protected Object initAndInject ( String className , List < ? extends ConfigProperty > configs , ClassLoader cl ) throws DeployException { } @ Override protected SubjectFactory getSubjectFactory ( String securityDomain ) throws DeployException { } @ Override public CachedConnectionManager getCachedConnectionManager ( ) { } @ Override public ManagementRepository getManagementRepository ( ) { } @ Override protected void initAndInjectClassLoaderPlugin ( ManagedConnectionFactory mcf , CommonDataSource dsMetadata ) throws DeployException { } @ Override public TransactionIntegration getTransactionIntegration ( ) { } @ Override protected ManagedConnectionFactory createMcf ( XaDataSource arg0 , String arg1 , ClassLoader arg2 ) throws NotFoundException , DeployException { } @ Override protected ManagedConnectionFactory createMcf ( org . jboss . jca . common . api . metadata . ds . DataSource arg0 , String arg1 , ClassLoader arg2 ) throws NotFoundException , DeployException { } private void setMcfProperties ( final BaseWrapperManagedConnectionFactory managedConnectionFactory , CommonDataSource dataSourceConfig , final Statement statement ) { if ( ( dataSourceConfig . getTransactionIsolation ( ) ) != null ) { managedConnectionFactory . setTransactionIsolation ( dataSourceConfig . getTransactionIsolation ( ) . name ( ) ) ; } final DsSecurity security = dataSourceConfig . getSecurity ( ) ; if ( security != null ) { if ( ( security . getUserName ( ) ) != null ) { managedConnectionFactory . setUserName ( security . getUserName ( ) ) ; } if ( ( security . getPassword ( ) ) != null ) { managedConnectionFactory . setPassword ( security . getPassword ( ) ) ; } } final TimeOut timeOut = dataSourceConfig . getTimeOut ( ) ; if ( timeOut != null ) { if ( ( timeOut . getUseTryLock ( ) ) != null ) { managedConnectionFactory . setUseTryLock ( timeOut . getUseTryLock ( ) . intValue ( ) ) ; } if ( ( timeOut . getQueryTimeout ( ) ) != null ) { managedConnectionFactory . setQueryTimeout ( timeOut . getQueryTimeout ( ) . intValue ( ) ) ; } if ( timeOut . isSetTxQueryTimeout ( ) ) { managedConnectionFactory . setTransactionQueryTimeout ( true ) ; } } if ( statement != null ) { if ( ( statement . getTrackStatements ( ) ) != null ) { managedConnectionFactory . setTrackStatements ( statement . getTrackStatements ( ) . name ( ) ) ; } if ( ( statement . isSharePreparedStatements ( ) ) != null ) { managedConnectionFactory . setSharePreparedStatements ( statement . isSharePreparedStatements ( ) ) ; } if ( ( statement . getPreparedStatementsCacheSize ( ) ) != null ) { managedConnectionFactory . setPreparedStatementCacheSize ( statement . getPreparedStatementsCacheSize ( ) . intValue ( ) ) ; } } final Validation validation = dataSourceConfig . getValidation ( ) ; if ( validation != null ) { <START_BUG> if ( validation . isValidateOnMatch ( ) ) { <END_BUG> managedConnectionFactory . setValidateOnMatch ( validation . isValidateOnMatch ( ) ) ; } if ( ( validation . getCheckValidConnectionSql ( ) ) != null ) { managedConnectionFactory . setCheckValidConnectionSQL ( validation . getCheckValidConnectionSql ( ) ) ; } final Extension validConnectionChecker = validation . getValidConnectionChecker ( ) ; if ( validConnectionChecker != null ) { if ( ( validConnectionChecker . getClassName ( ) ) != null ) { managedConnectionFactory . setValidConnectionCheckerClassName ( validConnectionChecker . getClassName ( ) ) ; } if ( ( validConnectionChecker . getConfigPropertiesMap ( ) ) != null ) { managedConnectionFactory . setValidConnectionCheckerProperties ( buildConfigPropsString ( validConnectionChecker . getConfigPropertiesMap ( ) ) ) ; } } final Extension exceptionSorter = validation . getExceptionSorter ( ) ; if ( exceptionSorter != null ) { if ( ( exceptionSorter . getClassName ( ) ) != null ) { managedConnectionFactory . setExceptionSorterClassName ( exceptionSorter . getClassName ( ) ) ; } if ( ( exceptionSorter . getConfigPropertiesMap ( ) ) != null ) { managedConnectionFactory . setExceptionSorterProperties ( buildConfigPropsString ( exceptionSorter . getConfigPropertiesMap ( ) ) ) ; } } final Extension staleConnectionChecker = validation . getStaleConnectionChecker ( ) ; if ( staleConnectionChecker != null ) { if ( ( staleConnectionChecker . getClassName ( ) ) != null ) { managedConnectionFactory . setStaleConnectionCheckerClassName ( staleConnectionChecker . getClassName ( ) ) ; } if ( ( staleConnectionChecker . getConfigPropertiesMap ( ) ) != null ) { managedConnectionFactory . setStaleConnectionCheckerProperties ( buildConfigPropsString ( staleConnectionChecker . getConfigPropertiesMap ( ) ) ) ; } } } } @ Override protected String buildJndiName ( String rawJndiName , Boolean javaContext ) { } @ Override protected DeployersLogger getLogger ( ) { } } private class MyXaMCF extends XAManagedConnectionFactory { private static final long serialVersionUID = 4876371551002746953L ;

Fix:
if ( ( validation . isValidateOnMatch ( ) ) != null ) {