Buggy code:
public class ArjunaObjectStoreEnvironmentService implements Service < Void > { private final InjectedValue < PathManager > pathManagerInjector = new InjectedValue < PathManager > ( ) ; private final boolean useHornetqJournalStore ; private final boolean enableAsyncIO ; private final String path ; private final String pathRef ; private final boolean useJdbcStore ; private final String dataSourceJndiName ; private final ArjunaObjectStoreEnvironmentService . JdbcStoreConfig jdbcSoreConfig ; private volatile Handle callbackHandle ; public ArjunaObjectStoreEnvironmentService ( final boolean useHornetqJournalStore , final boolean enableAsyncIO , final String path , final String pathRef , final boolean useJdbcStore , final String dataSourceJndiName , final ArjunaObjectStoreEnvironmentService . JdbcStoreConfig jdbcSoreConfig ) { } @ Override public Void getValue ( ) throws IllegalArgumentException , IllegalStateException { } @ Override public void start ( StartContext context ) throws StartException { callbackHandle = pathManagerInjector . getValue ( ) . registerCallback ( pathRef , ReloadServerCallback . create ( ) , UPDATED , REMOVED ) ; String objectStoreDir = pathManagerInjector . getValue ( ) . resolveRelativePathEntry ( path , pathRef ) ; <START_BUG> final ObjectStoreEnvironmentBean defaultActionStoreObjectStoreEnvironmentBean = BeanPopulator . getNamedInstance ( ObjectStoreEnvironmentBean . class , null ) ; <END_BUG> if ( useHornetqJournalStore ) { HornetqJournalEnvironmentBean hornetqJournalEnvironmentBean = BeanPopulator . getDefaultInstance ( HornetqJournalEnvironmentBean . class ) ; hornetqJournalEnvironmentBean . setAsyncIO ( enableAsyncIO ) ; hornetqJournalEnvironmentBean . setStoreDir ( ( objectStoreDir + "//HornetqObjectStore" ) ) ; defaultActionStoreObjectStoreEnvironmentBean . setObjectStoreType ( "com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor" ) ; } else { defaultActionStoreObjectStoreEnvironmentBean . setObjectStoreDir ( objectStoreDir ) ; } final ObjectStoreEnvironmentBean stateStoreObjectStoreEnvironmentBean = BeanPopulator . getNamedInstance ( ObjectStoreEnvironmentBean . class , "stateStore" ) ; stateStoreObjectStoreEnvironmentBean . setObjectStoreDir ( objectStoreDir ) ; final ObjectStoreEnvironmentBean communicationStoreObjectStoreEnvironmentBean = BeanPopulator . getNamedInstance ( ObjectStoreEnvironmentBean . class , "communicationStore" ) ; communicationStoreObjectStoreEnvironmentBean . setObjectStoreDir ( objectStoreDir ) ; if ( useJdbcStore ) { defaultActionStoreObjectStoreEnvironmentBean . setObjectStoreType ( "com.arjuna.ats.internal.arjuna.objectstore.jdbc.JDBCStore" ) ; stateStoreObjectStoreEnvironmentBean . setObjectStoreType ( "com.arjuna.ats.internal.arjuna.objectstore.jdbc.JDBCStore" ) ; communicationStoreObjectStoreEnvironmentBean . setObjectStoreType ( "com.arjuna.ats.internal.arjuna.objectstore.jdbc.JDBCStore" ) ; defaultActionStoreObjectStoreEnvironmentBean . setJdbcAccess ( ( "com.arjuna.ats.internal.arjuna.objectstore.jdbc.accessors.DataSourceJDBCAccess;datasourceName=" + ( dataSourceJndiName ) ) ) ; stateStoreObjectStoreEnvironmentBean . setJdbcAccess ( ( "com.arjuna.ats.internal.arjuna.objectstore.jdbc.accessors.DataSourceJDBCAccess;datasourceName=" + ( dataSourceJndiName ) ) ) ; communicationStoreObjectStoreEnvironmentBean . setJdbcAccess ( ( "com.arjuna.ats.internal.arjuna.objectstore.jdbc.accessors.DataSourceJDBCAccess;datasourceName=" + ( dataSourceJndiName ) ) ) ; defaultActionStoreObjectStoreEnvironmentBean . setTablePrefix ( jdbcSoreConfig . getActionTablePrefix ( ) ) ; stateStoreObjectStoreEnvironmentBean . setTablePrefix ( jdbcSoreConfig . getStateTablePrefix ( ) ) ; communicationStoreObjectStoreEnvironmentBean . setTablePrefix ( jdbcSoreConfig . getCommunicationTablePrefix ( ) ) ; defaultActionStoreObjectStoreEnvironmentBean . setDropTable ( jdbcSoreConfig . isActionDropTable ( ) ) ; stateStoreObjectStoreEnvironmentBean . setDropTable ( jdbcSoreConfig . isStateDropTable ( ) ) ; communicationStoreObjectStoreEnvironmentBean . setDropTable ( jdbcSoreConfig . isCommunicationDropTable ( ) ) ; } } @ Override public void stop ( StopContext context ) { } public InjectedValue < PathManager > getPathManagerInjector ( ) { } public static final class JdbcStoreConfig { private final String actionTablePrefix ; private final boolean actionDropTable ; private final String stateTablePrefix ; private final boolean stateDropTable ; private final String communicationTablePrefix ; private final boolean communicationDropTable ; private JdbcStoreConfig ( final String actionTablePrefix , final boolean actionDropTable , final String stateTablePrefix , final boolean stateDropTable , final String communicationTablePrefix , final boolean communicationDropTable ) { } public String getActionTablePrefix ( ) { } public boolean isActionDropTable ( ) { } public String getStateTablePrefix ( ) { } public boolean isStateDropTable ( ) { } public String getCommunicationTablePrefix ( ) { } public boolean isCommunicationDropTable ( ) { } } public static final class JdbcStoreConfigBulder { private String actionTablePrefix ; private boolean actionDropTable ; private String stateTablePrefix ; private boolean stateDropTable ; private String communicationTablePrefix ; private boolean communicationDropTable ; public ArjunaObjectStoreEnvironmentService . JdbcStoreConfigBulder setActionTablePrefix ( String actionTablePrefix ) { } public ArjunaObjectStoreEnvironmentService . JdbcStoreConfigBulder setActionDropTable ( boolean actionDropTable ) { } public ArjunaObjectStoreEnvironmentService . JdbcStoreConfigBulder setStateTablePrefix ( String stateTablePrefix ) { } public ArjunaObjectStoreEnvironmentService . JdbcStoreConfigBulder setStateDropTable ( boolean stateDropTable ) { } public ArjunaObjectStoreEnvironmentService . JdbcStoreConfigBulder setCommunicationTablePrefix ( String communicationTablePrefix ) { } public ArjunaObjectStoreEnvironmentService . JdbcStoreConfigBulder setCommunicationDropTable ( boolean communicationDropTable ) { } public ArjunaObjectStoreEnvironmentService . JdbcStoreConfig build ( ) { } } }

Fix:
final ObjectStoreEnvironmentBean defaultActionStoreObjectStoreEnvironmentBean = BeanPopulator . getNamedInstance ( ObjectStoreEnvironmentBean . class , "default" ) ;