Buggy code:
@ Processor public RemoteSecurityLevel getSecurityLevel ( @ Optional String token , String issueKey ) { } @ Processor public List < Object > getCustomFields ( @ Optional String token ) { } @ Processor public boolean logout ( String token ) { } @ Processor public RemoteProject getProjectWithSchemesById ( @ Optional String token , Long projectId ) { } @ Processor public List < Object > getSecurityLevels ( @ Optional String token , String projectKey ) { } @ Processor public List < Object > getProjectAvatars ( @ Optional String token , String projectKey , Boolean includeSystemAvatars ) { } @ Processor public void setProjectAvatar ( @ Optional String token , String projectKey , Long avatarId ) { } @ Processor public RemoteAvatar getProjectAvatar ( @ Optional String token , String projectKey ) { } @ Processor public void deleteProjectAvatar ( @ Optional String token , Long avatarId ) { } @ Processor public List < Object > getNotificationSchemes ( @ Optional String token ) { } @ Processor public List < Object > getPermissionSchemes ( @ Optional String token ) { } @ Processor public List < Object > getAllPermissions ( @ Optional String token ) { } @ Processor public RemotePermissionScheme createPermissionScheme ( @ Optional String token , String name , String description ) { } @ Processor public RemotePermissionScheme addPermissionTo ( @ Optional String token , String permissionSchemeName , Long permissionCode , String entityName ) { } @ Processor public RemotePermissionScheme deletePermissionFrom ( @ Optional String token , String permissionSchemeName , Long permissionCode , String entityName ) { } @ Processor public void deletePermissionScheme ( @ Optional String token , String permissionSchemeName ) { } @ Processor public List < Object > getAttachmentsFromIssue ( @ Optional String token , String issueKey ) { } @ Processor public boolean hasPermissionToEditComment ( @ Optional String token , Long commentId ) { } @ Processor public RemoteComment editComment ( @ Optional String token , Long commentId , @ Optional String body , @ Optional String updateAuthor ) { } @ Processor public List < Object > getFieldsForAction ( @ Optional String token , String issueKey , String actionIdString ) { } @ Processor public RemoteIssue getIssueById ( @ Optional String token , String issueId ) { } @ Processor public void deleteWorklogWithNewRemainingEstimate ( @ Optional String token , String workLogId , String newRemainingEstimate ) { } @ Processor public void deleteWorklogAndAutoAdjustRemainingEstimate ( @ Optional String token , String worklogId ) { } @ Processor public void deleteWorklogAndRetainRemainingEstimate ( @ Optional String token , String worklogId ) { } @ Processor public List < Object > getWorklogs ( @ Optional String token , String issueKey ) { } @ Processor public boolean hasPermissionToCreateWorklog ( @ Optional String token , String issueKey ) { } @ Processor public boolean hasPermissionToDeleteWorklog ( @ Optional String token , String worklogId ) { } @ Processor public boolean hasPermissionToUpdateWorklog ( @ Optional String token , String worklogId ) { } @ Processor public void updateWorklogWithNewRemainingEstimate ( @ Optional String token , String issueKey , String worklogId , String newRemainingEstimate , @ Optional String comment , @ Optional String groupLevel , @ Optional String roleLevelId ) { } @ Processor public RemoteVersion addVersion ( @ Optional String token , String projectKey , String versionName , Boolean archived , Boolean released , String releaseDate ) { } @ Processor public Calendar getResolutionDateByKey ( @ Optional String token , String issueKey ) { } @ Processor public Calendar getResolutionDateById ( @ Optional String token , Long issueId ) { } @ Processor public long getIssueCountForFilter ( @ Optional String token , String filterId ) { } @ Processor public List < Object > getIssuesFromTextSearchWithProject ( @ Optional String token , List < String > projectKeys , String searchTerms , Integer maxNumResults ) { } @ Processor public List < Object > getIssuesFromJqlSearch ( @ Optional String token , String jqlSearch , Integer maxNumResults ) { } @ Processor public void deleteUser ( @ Optional String token , String username ) { } @ Processor public void deleteGroup ( @ Optional String token , String groupName , @ Optional String swapGroupName ) { } @ Processor public void refreshCustomFields ( @ Optional String token ) { } @ Processor public boolean addBase64EncodedAttachmentsToIssue ( @ Optional String token , String issueKey , List < String > fileNames , List < String > base64EncodedAttachmentData ) { } @ Processor public List < Object > getIssuesFromFilterWithLimit ( @ Optional String token , String filterId , Integer offset , Integer maxNumResults ) { } @ Processor public List < Object > getIssuesFromTextSearchWithLimit ( @ Optional String token , String searchTerms , Integer offset , Integer maxNumResults ) { } @ Processor public List < Object > getProjectsNoSchemes ( @ Optional String token ) { } @ Processor public void setNewProjectAvatar ( @ Optional String token , String projectKey , String contentType , String base64ImageData ) { } @ Processor public RemoteIssue progressWorkflowAction ( @ Optional String token , String issueKey , String actionIdString , @ Optional List < String > fieldIds , @ Optional List < String > fieldsValues ) { } @ Processor public List < Object > getSecuritySchemes ( @ Optional String token ) { } public synchronized JiraClient < List < Object > > getClient ( ) { if ( ( client ) == null ) { <START_BUG> client = JiraClientFactory . getClient ( address ) ; <END_BUG> } return client ; } public void setClient ( JiraClient < ? > client ) { } public String getUsername ( ) { } public void setUsername ( String username ) { } public String getPassword ( ) { } public void setPassword ( String password ) { } public String getAddress ( ) { } public void setAddress ( String address ) { } private String createTokenIfNecessary ( String token ) { } No newline ; at end ; of file ; }

Fix:
setClient ( JiraClientFactory . getClient ( address ) ) ;