Buggy code:
public class ZCRecordValue { private ZCField field = null ; private String value = null ; private ZCChoice choiceValue = null ; private List < ZCChoice > choiceValues = new ArrayList < ZCChoice > ( ) ; private Object fileValue = null ; private String url = "" ; private String urlTitleValue = "" ; private String urlLinkNameValue = "" ; private boolean errorOccured = false ; private String errorMessage = null ; private boolean isLastReachedForChoices = false ; private List < ZCChoice > choices = new ArrayList < ZCChoice > ( ) ; private String searchForChoices = null ; private boolean lookupLoadingStarted = false ; private boolean isFileReUploaded = false ; private boolean isWriteToParcel = false ; private String fileName = null ; private boolean isAllowotherchoice = false ; private String otherChoiceValue = null ; public static String allowOtherChoiceKey = "ALLOW_OTHER_CHOICES" ; public ZCRecordValue ( ZCField field , String value ) { } public ZCRecordValue ( ZCField field , ZCChoice choiceValue ) { } public ZCRecordValue ( ZCField field , List < ZCChoice > choiceValues ) { } public ZCRecordValue ( ZCField field , Object bitMapValue ) { } void setWriteToParcel ( boolean isWriteToParcel ) { } boolean isWriteToParcel ( ) { } public ZCRecordValue ( ZCField field , String url , String urlTitleValue , String urlLinkNameValue ) { } public String toString ( ) { } public String getValue ( ) { } boolean isFileReUploaded ( ) { } public void setFileUploaded ( boolean isFileReUploaded ) { } public void setUrlLinkNameValue ( String urlLinkNameValue ) { } public String getUrlLinkNameValue ( ) { } public String getUrlTitleValue ( ) { } public void setUrlTitleValue ( String urlTitleValue ) { } public String getUrlValue ( ) { } public void setUrlValue ( String url ) { } void setField ( ZCField field ) { } public String getDisplayValue ( ) { } public ZCChoice getChoiceValue ( ) { } public List < ZCChoice > getChoiceValues ( ) { } public ZCRecordValue getNewRecordValue ( ) { } void addToValues ( List < ZCChoice > valuesToAdd ) { } void removeFromValues ( List < ZCChoice > valuesToRemove ) { } public Object getFileValue ( ) { } public void setValue ( String value ) { } public void setChoiceValue ( ZCChoice choiceValue ) { } public void setChoiceValues ( List < ZCChoice > zcChoices ) { } public void setFileValue ( Object fileValue ) { } public ZCField getField ( ) { } public boolean isErrorOccured ( ) { } public void setErrorOccured ( boolean errorOccured ) { } public void setErrorMessage ( String errorMessage ) { } public String getErrorMessage ( ) { } public List < ZCChoice > getChoices ( ) { } void addChoices ( List < ZCChoice > choices ) { } void clearChoices ( ) { } public void appendChoices ( List < ZCChoice > moreChoices ) { } public void addToLookupChoice ( ZCChoice choice ) { } void setLastReachedForChoices ( boolean isLastReachedForChoices ) { } public boolean isLastReachedForChoices ( ) { } public List < ZCChoice > loadMoreChoices ( ) throws ZCException { if ( ! ( isLastReachedForChoices ) ) { List < ZCChoice > moreChoices = ZOHOCreator . loadMoreChoices ( this ) ; choices . addAll ( moreChoices ) ; <START_BUG> if ( ( ( moreChoices . size ( ) ) < 50 ) && ( ( searchForChoices ) == null ) ) { <END_BUG> isLastReachedForChoices = true ; } return moreChoices ; } return new ArrayList < ZCChoice > ( ) ; } public void reloadChoices ( ) throws ZCException { } public void setSearchForChoices ( String searchForChoices ) { } public String getSearchForChoices ( ) { } public boolean isLookupLoadingStarted ( ) { } public void setLookupLoadingStarted ( boolean lookupLoadingStarted ) { } public void setFileName ( String fileName ) { } public String getFileName ( ) { } String getUrlValueForSubmit ( ) { } public void setAllowotherchoice ( boolean allowotherchoice ) { } public boolean isAllowotherchoice ( ) { } public void setOtherChoiceValue ( String otherChoiceValue ) { } public String getOtherChoiceValue ( ) { } }

Fix:
if ( ( moreChoices . size ( ) ) < 50 ) {