code: public static boolean startsWith( List<?> list, List<?> prefix )
    {
      if( list.size() < prefix.size() )
      {
        return false;
      }
      Iterator<?> listIter = list.iterator();
      for( Object prefixElement : prefix )
      {
        boolean b = listIter.hasNext();
        assert b :
          "list claims to have at least as many elements as prefix, but its iterator is exhausted first";
        if( !GosuObjectUtil.equals( prefixElement, listIter.next() ) )
        {
          return false;
        }
      }
      return true;
    }
docs: {@link String#startsWith(String)} for Lists.
  
  @return true iff list is at least as big as prefix, and if the first prefix.size() elements
  are element-wise equal to the elements of prefix.