@Override
    public void onUIRefreshPrepare(PtrFrameLayout frame) {
        if (!hasHandler()) {
            return;
        }
        PtrUIHandlerHolder current = this;
        do {
            final PtrUIHandler handler = current.getHandler();
            if (null != handler) {
                handler.onUIRefreshPrepare(frame);
            }
        } while ((current = current.mNext) != null);
    }
A single linked list to wrap PtrUIHandler
common/src/main/java/com/sxjs/common/widget/pulltorefresh/PtrUIHandlerHolder.java