Buggy code:
if , "0" ) ) ; int v3MaxCallsInterval = Integer . parseInt ( p . getProperty ( "net.wagstrom.research.github.apiThrottle.maxCallsInterval.v3" , "0" ) ) ; if ( ( v3MaxCalls > 0 ) && ( v3MaxCallsInterval > 0 ) ) { log . info ( "Setting<seq2seq4repair_space>v3<seq2seq4repair_space>Max<seq2seq4repair_space>Call<seq2seq4repair_space>Rate:<seq2seq4repair_space>{}//{}" , v3MaxCalls , v3MaxCallsInterval ) ; v3throttle . setMaxRate ( v3MaxCalls , v3MaxCallsInterval ) ; } v3throttle . setId ( "v3" ) ; double minAgeDouble = Double . parseDouble ( p . getProperty ( "net.wagstrom.research.github.refreshTime" , "0.0" ) ) ; refreshTime = ( ( ( long ) ( minAgeDouble ) ) * 86400 ) * 1000 ; log . info ( "Minimum<seq2seq4repair_space>artifact<seq2seq4repair_space>refresh<seq2seq4repair_space>time:<seq2seq4repair_space>{}ms" , refreshTime ) ; try { for ( String proj : p . getProperty ( "net.wagstrom.research.github.projects" ) . split ( "," ) ) { if ( ! ( proj . trim ( ) . equals ( "" ) ) ) { projects . add ( proj . trim ( ) ) ; } } } catch ( NullPointerException e ) { log . error ( "property<seq2seq4repair_space>net.wagstrom.research.github.projects<seq2seq4repair_space>undefined" ) ; System . exit ( 1 ) ; } try { for ( String user : p . getProperty ( "net.wagstrom.research.github.users" ) . split ( "," ) ) { if ( ! ( user . trim ( ) . equals ( "" ) ) ) { users . add ( user . trim ( ) ) ; } } } catch ( NullPointerException e ) { log . error ( "property<seq2seq4repair_space>net.wagstrom.research.github.users<seq2seq4repair_space>undefined" ) ; System . exit ( 1 ) ; } try { for ( String organization : p . getProperty ( "net.wagstrom.research.github.organizations" ) . split ( "," ) ) { if ( ! ( organization . trim ( ) . equals ( "" ) ) ) { organizations . add ( organization . trim ( ) ) ; } } } catch ( NullPointerException e ) { log . error ( "property<seq2seq4repair_space>net.wagstrom.research.github.organizations<seq2seq4repair_space>undefined" ) ; System . exit ( 1 ) ; } BlueprintsDriver bp = connectToGraph ( p ) ; GraphShutdownHandler gsh = new GraphShutdownHandler ( ) ; gsh . addShutdownHandler ( bp ) ; Runtime . getRuntime ( ) . addShutdownHook ( gsh ) ; GitHubClient ghc = new GitHubClient ( ) ; IssueMinerV3 imv3 = new IssueMinerV3 ( ThrottledGitHubInvocationHandler . createThrottledGitHubClient ( ( ( IGitHubClient ) ( ghc ) ) , v3throttle ) ) ; PullMinerV3 pmv3 = new PullMinerV3 ( ThrottledGitHubInvocationHandler . createThrottledGitHubClient ( ( ( IGitHubClient ) ( ghc ) ) , v3throttle ) ) ; RepositoryMinerV3 rmv3 = new RepositoryMinerV3 ( ThrottledGitHubInvocationHandler . createThrottledGitHubClient ( ( ( IGitHubClient ) ( ghc ) ) , v3throttle ) ) ; RepositoryMiner rm = new RepositoryMiner ( ThrottledGitHubInvocationHandler . createThrottledRepositoryService ( factory . createRepositoryService ( ) , throttle ) ) ; IssueMiner im = new IssueMiner ( ThrottledGitHubInvocationHandler . createThrottledIssueService ( factory . createIssueService ( ) , throttle ) ) ; PullMiner pm = new PullMiner ( ThrottledGitHubInvocationHandler . createThrottledPullRequestService ( factory . createPullRequestService ( ) , throttle ) ) ; UserMiner um = new UserMiner ( ThrottledGitHubInvocationHandler . createThrottledUserService ( factory . createUserService ( ) , throttle ) ) ; GistMiner gm = new GistMiner ( ThrottledGitHubInvocationHandler . createThrottledGistService ( factory . createGistService ( ) , throttle ) ) ; OrganizationMiner om = new OrganizationMiner ( ThrottledGitHubInvocationHandler . createThrottledOrganizationService ( factory . createOrganizationService ( ) , throttle ) ) ; if ( p . getProperty ( "net.wagstrom.research.github.miner.repositories" , "true" ) . equals ( "true" ) ) { for ( String proj : projects ) { String [ ] projsplit = proj . split ( "//" ) ; Repository repo = rmv3 . getRepository ( projsplit [ 0 ] , projsplit [ 1 ] ) ; bp . saveRepository ( rm . getRepositoryInformation ( projsplit [ 0 ] , projsplit [ 1 ] ) ) ; if ( p . getProperty ( "net.wagstrom.research.github.miner.repositories.collaborators" , "true" ) . equals ( "true" ) ) bp . saveRepositoryCollaborators ( proj , rm . getRepositoryCollaborators ( projsplit [ 0 ] , projsplit [ 1 ] ) ) ; if ( p . getProperty ( "net.wagstrom.research.github.miner.repositories.contributors" , "true" ) . equals ( "true" ) ) bp . saveRepositoryContributors ( proj , rm . getRepositoryContributors ( projsplit [ 0 ] , projsplit [ 1 ] ) ) ; if ( p . getProperty ( "net.wagstrom.research.github.miner.repositories.watchers" , "true" ) . equals ( "true" ) ) bp . saveRepositoryWatchers ( proj , rm . getWatchers ( projsplit [ 0 ] , projsplit [ 1 ] ) ) ; if ( p . getProperty ( "net.wagstrom.research.github.miner.repositories.forks" , "true" ) . equals ( "true" ) ) bp . saveRepositoryForks ( proj , rm . getForks ( projsplit [ 0 ] , projsplit [ 1 ] ) ) ; if ( p . getProperty ( "net.wagstrom.research.github.miner.issues" , "true" ) . equals ( "true" ) ) { Collection < Issue > issues3 = imv3 . getAllIssues ( projsplit [ 0 ] , projsplit [ 1 ] ) ; if ( issues3 != null ) { bp . saveRepositoryIssues ( repo , issues3 ) ; Map < Integer , Date > savedIssues = bp . getIssueCommentsAddedAt ( proj ) ; log . trace ( "SavedIssues<seq2seq4repair_space>Keys:<seq2seq4repair_space>{}" , savedIssues . keySet ( ) ) ; for ( Issue issue : issues3 ) { if ( ! ( needsUpdate ( savedIssues . get ( issue . getNumber ( ) ) , true ) ) ) { log . debug ( "Skipping<seq2seq4repair_space>fetching<seq2seq4repair_space>issue<seq2seq4repair_space>{}<seq2seq4repair_space>-<seq2seq4repair_space>recently<seq2seq4repair_space>updated<seq2seq4repair_space>{}" , issue . getNumber ( ) , savedIssues . get ( issue . getNumber ( ) ) ) ; continue ; } try { bp . saveRepositoryIssueComments ( proj , issue , im . getIssueComments ( projsplit [ 0 ] , projsplit [ 1 ] , issue . getNumber ( ) ) ) ; bp . saveIssueComments ( repo , issue , imv3 . getIssueComments ( repo , issue ) ) ; } catch ( NullPointerException e ) { log . error ( "NullPointerException<seq2seq4repair_space>saving<seq2seq4repair_space>issue<seq2seq4repair_space>comments:<seq2seq4repair_space>{}:{}" , proj , issue ) ; } } savedIssues = bp . getIssueEventsAddedAt ( repo ) ; for ( Issue issue : issues3 ) { if ( ! ( needsUpdate ( savedIssues . get ( issue . getNumber ( ) ) , true ) ) ) { log . debug ( "Skipping<seq2seq4repair_space>fetching<seq2seq4repair_space>events<seq2seq4repair_space>for<seq2seq4repair_space>issue<seq2seq4repair_space>{}<seq2seq4repair_space>-<seq2seq4repair_space>recently<seq2seq4repair_space>updated" , issue . getNumber ( ) , savedIssues . get ( issue . getNumber ( ) ) ) ; } Collection < IssueEvent > evts = imv3 . getIssueEvents ( repo , issue ) ; log . info ( "issue<seq2seq4repair_space>{}:{}<seq2seq4repair_space>events:<seq2seq4repair_space>{}" , new Object [ ] { repo . generateId ( ) , issue . getNumber ( ) , evts . size ( ) } ) ; try { <START_BUG> bp . saveIssueEvents ( repo , issue , imv3 . getIssueEvents ( repo , issue ) ) ; <END_BUG>

Fix:
bp . saveIssueEvents ( repo , issue , evts ) ;