Buggy code:
public class ProblemListController extends BgoBaseController < Object > implements IPluginEvent { private static final long serialVersionUID = 1L ; private static final Log log = LogFactory . getLog ( ProblemListController . class ) ; private static final ProblemRenderer problemRenderer = new ProblemRenderer ( ) ; private static enum Command { ADD , EDIT , DELETE , POV ; } private Button btnAdd ; private Button btnEdit ; private Button btnDelete ; private Button btnPOV ; private Menuitem mnuAdd ; private Menuitem mnuEdit ; private Menuitem mnuDelete ; private Menuitem mnuPOV ; private Menuitem mnuSetFilter ; private Listbox lbProblems ; private Combobox cboFilter ; private String probEvent ; private int asyncHandle ; private boolean allowAsync ; private boolean allowAddPov = true ; private boolean useLexicon = true ; private boolean hideButtons ; private ProblemFilter defaultFilter ; private boolean m_bPersHistAndAct ; private Listheader colSort ; private boolean m_bNoRefresh ; private final List < Problem > problemList = new ArrayList < Problem > ( ) ; private final List < Problem > selectedProblems = new ArrayList < Problem > ( ) ; private final IAsyncRPCEvent asyncRPCEventHandler = new IAsyncRPCEvent ( ) { @ Override public void onRPCComplete ( int handle , String data ) { } @ Override public void onRPCError ( int handle , int code , String text ) { } } ; private final IPatientContextEvent patientContextEventHandler = new IPatientContextEvent ( ) { @ Override public String pending ( boolean silent ) { } @ Override public void committed ( ) { } @ Override public void canceled ( ) { } } ; private final IEncounterContextEvent encounterContextEventHandler = new IEncounterContextEvent ( ) { @ Override public String pending ( boolean silent ) { } @ Override public void committed ( ) { } @ Override public void canceled ( ) { } } ; private final IGenericEvent < Object > genericEventHandler = new IGenericEvent < Object > ( ) { @ Override public void eventCallback ( String eventName , Object eventData ) { } } ; @ Override public void onLoad ( final PluginContainer container ) { } @ Override public void onUnload ( ) { } @ Override public void onActivate ( ) { } @ Override public void onInactivate ( ) { } @ Override public void doAfterCompose ( final Component comp ) throws Exception { } private ProblemFilter getDefaultFilter ( ) { } private void setDefaultFilter ( ProblemFilter filter ) { } private void updateControls ( ) { } private void loadProblems ( boolean noAsync ) { lbProblems . getItems ( ) . clear ( ) ; abortAsync ( ) ; Patient patient = PatientContext . getActivePatient ( ) ; if ( patient == null ) { return ; } EventUtil . status ( "Loading<seq2seq4repair_space>Problem<seq2seq4repair_space>List<seq2seq4repair_space>Data" ) ; if ( ( allowAsync ) && ( ! noAsync ) ) { <START_BUG> asyncHandle = getBroker ( ) . callRPCAsync ( "BGOPROB<seq2seq4repair_space>GET" , asyncRPCEventHandler , patient . getId ( ) . getIdPart ( ) , true ) ; <END_BUG> } else { loadProblems ( getBroker ( ) . callRPCList ( "BGOPROB<seq2seq4repair_space>GET" , null , patient . getId ( ) . getIdPart ( ) ) ) ; } EventUtil . status ( ) ; } private void loadProblems ( List < String > data ) { } private Problem problemFromRow ( int row ) { } private void addProblem ( ) { } private String deleteProblem ( int row ) { } private String editProblem ( int row ) { } private void abortAsync ( ) { } @ Override public void refresh ( ) { } private void refreshList ( ) { } private ProblemFilter getFilter ( ) { } private void setFilter ( ProblemFilter filter ) { } private void doCommand ( ProblemListController . Command cmd ) { } private void saveGridState ( ) { } private void restoreGridState ( ) { } private void sortProblems ( ) { } public void onClick$btnAdd ( ) { } public void onClick$btnEdit ( ) { } public void onClick$btnDelete ( ) { } public void onClick$btnPOV ( ) { } public void onClick$mnuSetFilter ( ) { } public void onDoubleClick$lbProblems ( ) { } public void onSelect$cboFilter ( ) { } public void onSelect$lbProblems ( ) { } public void onResize$lbProblems ( ) { } public void onSort$lbProblems ( Event event ) { } public boolean getAllowAsync ( ) { } public void setAllowAsync ( boolean allowAsync ) { } public boolean getAllowAddPov ( ) { } public void setAllowAddPov ( boolean allowAddPov ) { } public boolean getUseLexicon ( ) { } public void setUseLexicon ( boolean useLexicon ) { } public boolean getHideButtons ( ) { } public void setHideButtons ( boolean hideButtons ) { } }

Fix:
asyncHandle = getBroker ( ) . callRPCAsync ( "BGOPROB<seq2seq4repair_space>GET" , asyncRPCEventHandler , patient . getId ( ) . getIdPart ( ) ) ;