added support for different view types
- public final int getViewTypeCount()
- public final int getItemViewType(final int position)