@Override
  public View getView(int position, View convertView, ViewGroup parent) {

    IndexPath path = indexPathForPosition(position);

    if (path.row == -1) {
      return delegate.viewForHeaderInSection(path.section);
    } else {
      return delegate.viewForRowAtIndexPath(path);
    }
  }