@SuppressWarnings("unchecked") void bindDropDownViewHolder(ViewHolder viewHolder,int position){
  if (position < getHeadersCount()) {
    onBindHeaderViewHolder(viewHolder,position);
  }
 else   if (position > getFooterStartIndex()) {
    onBindFooterViewHolder(viewHolder,position - getFooterStartIndex() - 1);
  }
 else {
    onBindDropDownViewHolder((Holder)viewHolder,position - getHeadersCount());
  }
}

@ SuppressWarnings ( "unchecked" ) void bindDropDownViewHolder ( ViewHolder viewHolder , int position ) { if ( position < getHeadersCount ( ) ) { onBindHeaderViewHolder ( viewHolder , position ) ; } else if ( position > getFooterStartIndex ( ) ) { onBindFooterViewHolder ( viewHolder , position - getFooterStartIndex ( ) - 1 ) ; } else { onBindDropDownViewHolder ( ( Holder ) viewHolder , position - getHeadersCount ( ) ) ; } }
internally binds the drop down view holder and takes into account header and footer view holders .
