@Override
 public void setSelectionFromTop(int position, int offset) {
   if (!isCalledFromSuper()) {
     if (adapter == null) {
       positionToSetWhenAdapterIsReady = position;
       offsetToSetWhenAdapterIsReady = offset;
       return;
     }
     if (areHeadersSticky) {
       if (frame != null && frame.hasHeader()) {
         offset += frame.getHeaderHeight();
       }
     }
     position = adapter.translateAdapterPosition(position);
   }
   super.setSelectionFromTop(position, offset);
 }
 @Override
 public void smoothScrollToPositionFromTop(int position, int offset, int duration) {
   if (!isCalledFromSuper()) {
     if (adapter == null) {
       positionToSetWhenAdapterIsReady = position;
       offsetToSetWhenAdapterIsReady = offset;
       return;
     }
     if (areHeadersSticky) {
       if (frame != null && frame.hasHeader()) {
         offset += frame.getHeaderHeight();
       }
     }
     position = adapter.translateAdapterPosition(position);
   }
   try {
     super.smoothScrollToPositionFromTop(position, offset, duration);
   } catch (NoSuchMethodError e) {
     // droid_utils: API < 11 TODO: update lib to fix this properly
   }
 }