Scrolls to the top of the specified AbsListView.

@param list the {@link AbsListView} to scroll
@return {@code true} if more scrolling can be performed
494664
public boolean scrollListToTop(AbsListView list) {
		if(config.commandLogging){
			Log.d(config.commandLoggingTag, "scrollListToTop("+list+")");
		}
		
		return scroller.scrollList(list, Scroller.UP, true);
	}
720428
public void configureListView(ListView listView) {
		this.listView = listView;
		this.listView.setOnScrollListener(new OnScrollListener() {

			int scrollPosition;

			@Override
			public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
				notifyScrollToAdditionalScrollListener(view, firstVisibleItem, visibleItemCount, totalItemCount);
				View topChild = view.getChildAt(0);

				int newScrollPosition;
				if (topChild == null) {
					newScrollPosition = 0;
				} else {
					newScrollPosition = view.getFirstVisiblePosition() * topChild.getHeight() - topChild.getTop();
				}
				if (Math.abs(newScrollPosition - scrollPosition) >= SCROLL_DIRECTION_CHANGE_THRESHOLD) {
					onScrollPositionChanged(scrollPosition, newScrollPosition);
				}

				scrollPosition = newScrollPosition;
			}

			@Override
			public void onScrollStateChanged(AbsListView view, int scrollState) {
				notifyScrollStateChangedToAdditionalScrollListener(view, scrollState);

			}
		});
	}
51340
public void setList(List<T> list) {
        if (list != mList) {
            mList = list;
            if (mList == null) {
                notifyInvalidated();
            } else {
                notifyChanged();
            }
        }
    }
395723
public void pollAllToList(List<T> retList) {
    while (head != null) {
      retList.add(head.element);
      head = head.after;
    }
    this.clear();
  }
844829
public <T extends AbsListView> void scrollListToLine(final T view, final int line){
		if(view == null)
			Assert.fail("AbsListView is null!");

		final int lineToMoveTo;
		if(view instanceof GridView) {
			lineToMoveTo = line+1;
		}
		else {
			lineToMoveTo = line;
		}

		inst.runOnMainSync(new Runnable(){
			public void run(){
				view.setSelection(lineToMoveTo);
			}
		});
	}
734204
public static ListIterator listIterator(Object list)
    {
        if (list==null)
            return Collections.EMPTY_LIST.listIterator();
        if (list instanceof List)
            return ((List)list).listIterator();
        return getList(list).listIterator();
    }
489788
public void setList(List<?> list) {
		this.checkNull(list);
		this.list.add(list);
		this.type.add(List.class);
	}
261106
public boolean scrollRecyclerViewToTop(int index) {
		if(config.commandLogging){
			Log.d(config.commandLoggingTag, "scrollRecyclerViewToTop("+index+")");
		}
		
		if(!config.shouldScroll) {
			return false;
		}
		
		View recyclerView = viewFetcher.getRecyclerView(index, Timeout.getSmallTimeout());
		
		scroller.scrollViewAllTheWay(recyclerView, Scroller.UP);
		
		return false;
	}
839040
function(oList){
		if (oList._lb) {
			var jListRef = jQuery(oList._lb.getDomRef());
			oList.$("lst").removeClass("sapUiUx3ExactLstScroll");
			if (jListRef.length > 0 && jListRef.outerHeight() < jListRef[0].scrollHeight) {
				oList.$("lst").addClass("sapUiUx3ExactLstScroll");
				return true;
			}
		}
		return false;
	}
222506
public String join(List<String> list) {

        if (list == null) {
            return null;
        }

        StringBuilder sb = new StringBuilder();
        boolean first = true;
        for (String s : list) {

            if (s == null) {
                if (convertEmptyToNull) {
                    s = "";
                } else {
                    throw new IllegalArgumentException("StringListFlattener does not support null strings in the list. Consider calling setConvertEmptyToNull(true).");
                }
            }

            if (!first) {
                sb.append(separator);
            }

            for (int i = 0; i < s.length(); i++) {
                char c = s.charAt(i);
                if (c == escapeChar || c == separator) {
                    sb.append(escapeChar);
                }
                sb.append(c);
            }

            first = false;
        }
        return sb.toString();
    }
1213644
@Override
    public void onScroll(
            AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
        SimpleMonthView child = (SimpleMonthView) view.getChildAt(0);
        if (child == null) {
            return;
        }

        // Figure out where we are
        long currScroll = view.getFirstVisiblePosition() * child.getHeight() - child.getBottom();
        mPreviousScrollPosition = currScroll;
        mPreviousScrollState = mCurrentScrollState;
    }
598841
public static <T, L extends List<T>> T getLast(List<T> list) {
        return isNullOrEmpty(list) ? null : list.get(list.size() - 1);
    }
848493
public boolean scrollDownList(int index) {
		if(config.commandLogging){
			Log.d(config.commandLoggingTag, "scrollDownList("+index+")");
		}
		
		return scroller.scrollList(waiter.waitForAndGetView(index, ListView.class), Scroller.DOWN, false);
	}
931009
public static <E> int lastIndexOf(final List<E> list, final E value) {
        return list.lastIndexOf(value);
    }
862918
@Override
	public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
		boolean bCanScrollUp;
		if (android.os.Build.VERSION.SDK_INT < 14) {
			bCanScrollUp = view.getChildCount() > 0
				&& (view.getFirstVisiblePosition() > 0 ||
				view.getChildAt(0).getTop() < view.getPaddingTop());
		} else {
			bCanScrollUp = ViewCompat.canScrollVertically(view, -1);
		}
		showToolbarElevation(bCanScrollUp);
	}
306181
public static <T extends Comparable<? super T>> void sort(List<T> list) {
		sort(list, QuickSort.<T>naturalOrder()); // JAVA_8 replace with Comparator.naturalOrder() (and cleanup)   
	}
1057975
public static <T> List<T> tail(List<T> list)
	{
		if (list.isEmpty())
			return Collections.emptyList();
		else
			return list.subList(1, list.size());
	}