Buggy code:
public class QuestPrototype_Activity extends Activity { ExpandableListView _prototypeListView ; QuestPrototype_Activity . QuestPrototypeExpListAdapter _prototypeAdapter ; private Date _lastLocationReciev ; @ Override public boolean onCreateOptionsMenu ( Menu menu ) { } @ Override public boolean onOptionsItemSelected ( MenuItem item ) { } @ Override protected void onCreate ( Bundle savedInstanceState ) { } @ Override public void onResume ( ) { } private BroadcastReceiver locationChangedReceiver = new BroadcastReceiver ( ) { @ Override public void onReceive ( Context context , Intent intent ) { } } ; @ Override protected void onPause ( ) { } @ Override protected void onSaveInstanceState ( Bundle outState ) { } @ Override protected void onRestoreInstanceState ( Bundle savedInstanceState ) { } private void startQuest ( QuestPrototype questPrototype ) { } private void setDisplayLocation ( Location location ) { } private void setDisplayLocation ( Location location , boolean forceReload ) { } private void refreshQuests ( ) { } private class QuestPrototypeExpListAdapter extends ArrayDetailsExpandableListAdapter < QuestPrototype > { int [ ] _layouts = new int [ ] { layout . simple_expandable_list_item_1 } ; public QuestPrototypeExpListAdapter ( Context context , List < QuestPrototype > listDataHeader ) { } @ Override public View getChildView ( int groupPosition , final int childPosition , boolean isLastChild , View convertView , ViewGroup parent ) { } @ Override public View getGroupView ( int groupPosition , boolean isExpanded , View convertView , ViewGroup parent ) { } @ Override protected Object getChild ( QuestPrototype group , int childPosition ) { } @ Override protected int getChildrenCount ( QuestPrototype group ) { } } private class QuestPrototypeArrayAdapter extends ArrayAdapter < QuestPrototype > { HashMap < QuestPrototype , Integer > mIdMap = new HashMap < QuestPrototype , Integer > ( ) ; public QuestPrototypeArrayAdapter ( Context context , List < QuestPrototype > objects ) { } @ Override public View getView ( final int position , View convertView , ViewGroup parent ) { } @ Override public boolean hasStableIds ( ) { } } private class QuestPrototypeLoadTask extends AsyncTask < Integer , Void , Collection < QuestPrototype > > { private ProgressDialog ringProgressDialog ; private boolean forceReload = false ; private DrachenBaseException _exception ; public QuestPrototypeLoadTask ( boolean forceReload ) { } @ Override protected void onPreExecute ( ) { } @ Override protected Collection < QuestPrototype > doInBackground ( Integer ... params ) { MyDataSet appData = ( ( DrachenApplication ) ( getApplication ( ) ) ) . getAppData ( ) ; QuestService questService = appData . getQuestService ( ) ; int locationId = params [ 0 ] ; try { Collection < QuestPrototype > result = questService . getAvailableQuestForLocation ( locationId , forceReload ) ; <START_BUG> return result ; <END_BUG> } catch ( DrachenBaseException e ) { _exception = e ; return null ; } } @ Override protected void onPostExecute ( Collection < QuestPrototype > result ) { } private String getErrorString ( ) { } } private class QuestStartTask extends AsyncTask < Void , Void , Quest > { private ProgressDialog ringProgressDialog ; private QuestPrototype questPrototype ; private DrachenBaseException _exception ; public QuestStartTask ( QuestPrototype questPrototype ) { } @ Override protected void onPreExecute ( ) { } @ Override protected Quest doInBackground ( Void ... params ) { } @ Override protected void onPostExecute ( Quest result ) { } private String getErrorString ( ) { } } }

Fix:
return questService . removeStartedQuests ( result ) ;