recycleadapter/src/main/java/com/kevadiyakrunalk/recycleadapter/utils/DebugWrapperAdapter.java
@Override
    public void unwrapPosition(@NonNull UnwrapPositionResult dest, int position) {
        if (((mFlags & FLAG_VERIFY_UNWRAP_POSITION) != 0) && (getWrappedAdapter() instanceof WrapperAdapter)) {
            final WrapperAdapter wrapperAdapter = (WrapperAdapter) getWrappedAdapter();

            final UnwrapPositionResult tmpResult = new UnwrapPositionResult();
            wrapperAdapter.unwrapPosition(tmpResult, position);

            if (tmpResult.isValid()) {
                final AdapterPathSegment segment = new AdapterPathSegment(tmpResult.adapter, tmpResult.tag);
                final int reWrappedPosition = wrapperAdapter.wrapPosition(segment, tmpResult.position);

                if (position != reWrappedPosition) {
                    final String wrappedClassName = getWrappedAdapter().getClass().getSimpleName();
                    throw new IllegalStateException(
                            "Found a WrapperAdapter implementation issue while executing unwrapPosition(): " + wrappedClassName + "\n" +
                                    "unwrapPosition(" + position + ") returns " + tmpResult.position + ", but " +
                                    "wrapPosition(" + tmpResult.position + ") returns " + reWrappedPosition);
                }
            }
        }

        super.unwrapPosition(dest, position);
    }
/**
     * {@inheritDoc}
     * <p>
     * This class also invokes {@link WrapperAdapter#wrapPosition(AdapterPathSegment, int)} of the child adapter when
     * verify option is enabled.
     * If inconsistency has been detected, <code>IllegalStateException</code> will be thrown.
     */

This class also invokes  WrapperAdapter#wrapPosition(AdapterPathSegment, int) of the child adapter when
verify option is enabled.
If inconsistency has been detected, IllegalStateException will be thrown.
This class also invokes WrapperAdapter#wrapPosition ( AdapterPathSegment int ) of the child adapter when verify option is enabled . If inconsistency has been detected IllegalStateException will be thrown .
@Override
    public void unwrapPosition(@NonNull UnwrapPositionResult dest, int position) {
        if (((mFlags & FLAG_VERIFY_UNWRAP_POSITION) != 0) && (getWrappedAdapter() instanceof WrapperAdapter)) {
            final WrapperAdapter wrapperAdapter = (WrapperAdapter) getWrappedAdapter();
            final UnwrapPositionResult tmpResult = new UnwrapPositionResult();
            wrapperAdapter.unwrapPosition(tmpResult, position);
            if (tmpResult.isValid()) {
                final AdapterPathSegment segment = new AdapterPathSegment(tmpResult.adapter, tmpResult.tag);
                final int reWrappedPosition = wrapperAdapter.wrapPosition(segment, tmpResult.position);
                if (position != reWrappedPosition) {
                    final String wrappedClassName = getWrappedAdapter().getClass().getSimpleName();
                    throw new IllegalStateException(
                            "Found a WrapperAdapter implementation issue while executing unwrapPosition(): " + wrappedClassName + "\n" +
                                    "unwrapPosition(" + position + ") returns " + tmpResult.position + ", but " +
                                    "wrapPosition(" + tmpResult.position + ") returns " + reWrappedPosition);
                }
            }
        }
        super.unwrapPosition(dest, position);
    }
@ Override public void unwrapPosition ( @ NonNull UnwrapPositionResult dest , int position ) { if ( ( ( mFlags & FLAG_VERIFY_UNWRAP_POSITION ) != 0 ) && ( getWrappedAdapter ( ) instanceof WrapperAdapter ) ) { final WrapperAdapter wrapperAdapter = ( WrapperAdapter ) getWrappedAdapter ( ) ; final UnwrapPositionResult tmpResult = new UnwrapPositionResult ( ) ; wrapperAdapter . unwrapPosition ( tmpResult , position ) ; if ( tmpResult . isValid ( ) ) { final AdapterPathSegment segment = new AdapterPathSegment ( tmpResult . adapter , tmpResult . tag ) ; final int reWrappedPosition = wrapperAdapter . wrapPosition ( segment , tmpResult . position ) ; if ( position != reWrappedPosition ) { final String wrappedClassName = getWrappedAdapter ( ) . getClass ( ) . getSimpleName ( ) ; throw new IllegalStateException ( "Found a WrapperAdapter implementation issue while executing unwrapPosition(): " + wrappedClassName + "\n" + "unwrapPosition(" + position + ") returns " + tmpResult . position + ", but " + "wrapPosition(" + tmpResult . position + ") returns " + reWrappedPosition ) ; } } } super . unwrapPosition ( dest , position ) ; }
{@inheritDoc}
 <p>
 This class also invokes {@link WrapperAdapter#wrapPosition(AdapterPathSegment, int)} of the child adapter when
 verify option is enabled.
{ @inheritDoc } <p > This class also invokes { @link WrapperAdapter#wrapPosition ( AdapterPathSegment int ) } of the child adapter when verify option is enabled .