public boolean areAllNormalRecordSelected() {
   final int count = mRecordItemList.size();
   for (int i = 0; i < count; i++) {
     RecordItem item = mRecordItemList.get(i);
     if (item == null) {
       continue;
     }
     if (!RecordListAdapter.isSpecialRecord(item.record) && !item.isSelected) {
       return false;
     }
   }
   return true;
 }
 public int getNormalRecordCount() {
   int normalRecordCount = 0;
   final int count = mRecordItemList.size();
   for (int i = 0; i < count; i++) {
     RecordItem item = mRecordItemList.get(i);
     if (item == null) {
       continue;
     }
     if (!RecordListAdapter.isSpecialRecord(item.record)) {
       normalRecordCount++;
     }
   }
   return normalRecordCount;
 }
 public void selectAllNormalRecords(boolean selected) {
   setNotificationsEnabled(false);
   final int count = mRecordItemList.size();
   for (int i = 0; i < count; i++) {
     RecordItem item = mRecordItemList.get(i);
     if (item == null) {
       continue;
     }
     if (!RecordListAdapter.isSpecialRecord(item.record)) {
       setItemSelected(i, selected);
     }
   }
   setNotificationsEnabled(true);
   notifyDataSetChanged();
 }