Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / java / util / Collections.js
index 4843399..3db9c31 100644 (file)
-//BH note: a declared static superclass must come before a static class referencing it\r
-\r
-Clazz.load(["java.util.AbstractList","$.AbstractMap","$.AbstractSet","$.Collection","$.Iterator","$.List","$.ListIterator","$.Map","$.RandomAccess","$.Set","$.SortedMap","$.SortedSet","java.lang.NullPointerException","$.UnsupportedOperationException","java.lang.reflect.Array"],"java.util.Collections",["java.lang.ArrayIndexOutOfBoundsException","$.ClassCastException","$.IllegalArgumentException","$.IndexOutOfBoundsException","java.util.ArrayList","$.Arrays","$.Enumeration","java.util.Map.Entry","java.util.NoSuchElementException","$.Random"],function(){\r
-c$=Clazz.declareType(java.util,"Collections");\r
-c$.binarySearch=Clazz.defineMethod(c$,"binarySearch",\r
-function(list,object){\r
-if(list==null){\r
-throw new NullPointerException();\r
-}if(list.isEmpty()){\r
-return-1;\r
-}var key=object;\r
-if(!(Clazz.instanceOf(list,java.util.RandomAccess))){\r
-var it=list.listIterator();\r
-while(it.hasNext()){\r
-var result;\r
-if((result=key.compareTo(it.next()))<=0){\r
-if(result==0){\r
-return it.previousIndex();\r
-}return-it.previousIndex()-1;\r
-}}\r
-return-list.size()-1;\r
-}var low=0;\r
-var mid=list.size();\r
-var high=mid-1;\r
-var result=-1;\r
-while(low<=high){\r
-mid=(low+high)>>1;\r
-if((result=key.compareTo(list.get(mid)))>0){\r
-low=mid+1;\r
-}else if(result==0){\r
-return mid;\r
-}else{\r
-high=mid-1;\r
-}}\r
-return-mid-(result<0?1:2);\r
-},"java.util.List,~O");\r
-c$.binarySearch=Clazz.defineMethod(c$,"binarySearch",\r
-function(list,object,comparator){\r
-if(comparator==null){\r
-return java.util.Collections.binarySearch(list,object);\r
-}if(!(Clazz.instanceOf(list,java.util.RandomAccess))){\r
-var it=list.listIterator();\r
-while(it.hasNext()){\r
-var result;\r
-if((result=comparator.compare(object,it.next()))<=0){\r
-if(result==0){\r
-return it.previousIndex();\r
-}return-it.previousIndex()-1;\r
-}}\r
-return-list.size()-1;\r
-}var low=0;\r
-var mid=list.size();\r
-var high=mid-1;\r
-var result=-1;\r
-while(low<=high){\r
-mid=(low+high)>>1;\r
-if((result=comparator.compare(object,list.get(mid)))>0){\r
-low=mid+1;\r
-}else if(result==0){\r
-return mid;\r
-}else{\r
-high=mid-1;\r
-}}\r
-return-mid-(result<0?1:2);\r
-},"java.util.List,~O,java.util.Comparator");\r
-c$.copy=Clazz.defineMethod(c$,"copy",\r
-function(destination,source){\r
-if(destination.size()<source.size()){\r
-throw new ArrayIndexOutOfBoundsException();\r
-}var srcIt=source.iterator();\r
-var destIt=destination.listIterator();\r
-while(srcIt.hasNext()){\r
-try{\r
-destIt.next();\r
-}catch(e){\r
-if(Clazz.instanceOf(e,java.util.NoSuchElementException)){\r
-throw new ArrayIndexOutOfBoundsException();\r
-}else{\r
-throw e;\r
-}\r
-}\r
-destIt.set(srcIt.next());\r
-}\r
-},"java.util.List,java.util.List");\r
-c$.enumeration=Clazz.defineMethod(c$,"enumeration",\r
-function(collection){\r
-var c=collection;\r
-\r
-if (!Clazz.isClassDefined("java.util.Collections$1"))\r
-       java.util.Collections.$Collections$1$(c);\r
-\r
-var x = Clazz.innerTypeInstance(java.util.Collections$1,this,null);\r
-\r
-return x;\r
-},"java.util.Collection");\r
-\r
-c$.fill=Clazz.defineMethod(c$,"fill",\r
-function(list,object){\r
-var it=list.listIterator();\r
-while(it.hasNext()){\r
-it.next();\r
-it.set(object);\r
-}\r
-},"java.util.List,~O");\r
-c$.max=Clazz.defineMethod(c$,"max",\r
-function(collection){\r
-var it=collection.iterator();\r
-var max=it.next();\r
-while(it.hasNext()){\r
-var next=it.next();\r
-if(max.compareTo(next)<0){\r
-max=next;\r
-}}\r
-return max;\r
-},"java.util.Collection");\r
-c$.max=Clazz.defineMethod(c$,"max",\r
-function(collection,comparator){\r
-var it=collection.iterator();\r
-var max=it.next();\r
-while(it.hasNext()){\r
-var next=it.next();\r
-if(comparator.compare(max,next)<0){\r
-max=next;\r
-}}\r
-return max;\r
-},"java.util.Collection,java.util.Comparator");\r
-c$.min=Clazz.defineMethod(c$,"min",\r
-function(collection){\r
-var it=collection.iterator();\r
-var min=it.next();\r
-while(it.hasNext()){\r
-var next=it.next();\r
-if(min.compareTo(next)>0){\r
-min=next;\r
-}}\r
-return min;\r
-},"java.util.Collection");\r
-c$.min=Clazz.defineMethod(c$,"min",\r
-function(collection,comparator){\r
-var it=collection.iterator();\r
-var min=it.next();\r
-while(it.hasNext()){\r
-var next=it.next();\r
-if(comparator.compare(min,next)>0){\r
-min=next;\r
-}}\r
-return min;\r
-},"java.util.Collection,java.util.Comparator");\r
-c$.nCopies=Clazz.defineMethod(c$,"nCopies",\r
-function(length,object){\r
-return new java.util.Collections.CopiesList(length,object);\r
-},"~N,~O");\r
-c$.reverse=Clazz.defineMethod(c$,"reverse",\r
-function(list){\r
-var size=list.size();\r
-var front=list.listIterator();\r
-var back=list.listIterator(size);\r
-for(var i=0;i<Math.floor(size/2);i++){\r
-var frontNext=front.next();\r
-var backPrev=back.previous();\r
-front.set(backPrev);\r
-back.set(frontNext);\r
-}\r
-},"java.util.List");\r
-c$.reverseOrder=Clazz.defineMethod(c$,"reverseOrder",\r
-function(){\r
-return new java.util.Collections.ReverseComparator();\r
-});\r
-c$.reverseOrder=Clazz.defineMethod(c$,"reverseOrder",\r
-function(c){\r
-if(c==null){\r
-return java.util.Collections.reverseOrder();\r
-}return new java.util.Collections.ReverseComparatorWithComparator(c);\r
-},"java.util.Comparator");\r
-c$.shuffle=Clazz.defineMethod(c$,"shuffle",\r
-function(list){\r
-java.util.Collections.shuffle(list,new java.util.Random());\r
-},"java.util.List");\r
-c$.shuffle=Clazz.defineMethod(c$,"shuffle",\r
-function(list,random){\r
-if(!(Clazz.instanceOf(list,java.util.RandomAccess))){\r
-var array=list.toArray();\r
-for(var i=array.length-1;i>0;i--){\r
-var index=random.nextInt()%(i+1);\r
-if(index<0){\r
-index=-index;\r
-}var temp=array[i];\r
-array[i]=array[index];\r
-array[index]=temp;\r
-}\r
-var i=0;\r
-var it=list.listIterator();\r
-while(it.hasNext()){\r
-it.next();\r
-it.set(array[i++]);\r
-}\r
-}else{\r
-var rawList=list;\r
-for(var i=rawList.size()-1;i>0;i--){\r
-var index=random.nextInt()%(i+1);\r
-if(index<0){\r
-index=-index;\r
-}rawList.set(index,rawList.set(i,rawList.get(index)));\r
-}\r
-}},"java.util.List,java.util.Random");\r
-c$.singleton=Clazz.defineMethod(c$,"singleton",\r
-function(object){\r
-return new java.util.Collections.SingletonSet(object);\r
-},"~O");\r
-c$.singletonList=Clazz.defineMethod(c$,"singletonList",\r
-function(object){\r
-return new java.util.Collections.SingletonList(object);\r
-},"~O");\r
-c$.singletonMap=Clazz.defineMethod(c$,"singletonMap",\r
-function(key,value){\r
-return new java.util.Collections.SingletonMap(key,value);\r
-},"~O,~O");\r
-c$.sort=Clazz.defineMethod(c$,"sort",\r
-function(list){\r
-var array=list.toArray();\r
-java.util.Arrays.sort(array);\r
-var i=0;\r
-var it=list.listIterator();\r
-while(it.hasNext()){\r
-it.next();\r
-it.set(array[i++]);\r
-}\r
-},"java.util.List");\r
-c$.sort=Clazz.defineMethod(c$,"sort",\r
-function(list,comparator){\r
-var array=list.toArray(new Array(list.size()));\r
-java.util.Arrays.sort(array,comparator);\r
-var i=0;\r
-var it=list.listIterator();\r
-while(it.hasNext()){\r
-it.next();\r
-it.set(array[i++]);\r
-}\r
-},"java.util.List,java.util.Comparator");\r
-c$.swap=Clazz.defineMethod(c$,"swap",\r
-function(list,index1,index2){\r
-if(list==null){\r
-throw new NullPointerException();\r
-}if(index1==index2){\r
-return;\r
-}var rawList=list;\r
-rawList.set(index2,rawList.set(index1,rawList.get(index2)));\r
-},"java.util.List,~N,~N");\r
-c$.replaceAll=Clazz.defineMethod(c$,"replaceAll",\r
-function(list,obj,obj2){\r
-var index;\r
-var found=false;\r
-while((index=list.indexOf(obj))>-1){\r
-found=true;\r
-list.set(index,obj2);\r
-}\r
-return found;\r
-},"java.util.List,~O,~O");\r
-c$.rotate=Clazz.defineMethod(c$,"rotate",\r
-function(lst,dist){\r
-var list=lst;\r
-var size=list.size();\r
-if(size==0){\r
-return;\r
-}var normdist;\r
-if(dist>0){\r
-normdist=dist%size;\r
-}else{\r
-normdist=size-((dist%size)*(-1));\r
-}if(normdist==0||normdist==size){\r
-return;\r
-}if(Clazz.instanceOf(list,java.util.RandomAccess)){\r
-var temp=list.get(0);\r
-var index=0;\r
-var beginIndex=0;\r
-for(var i=0;i<size;i++){\r
-index=(index+normdist)%size;\r
-temp=list.set(index,temp);\r
-if(index==beginIndex){\r
-index=++beginIndex;\r
-temp=list.get(beginIndex);\r
-}}\r
-}else{\r
-var divideIndex=(size-normdist)%size;\r
-var sublist1=list.subList(0,divideIndex);\r
-var sublist2=list.subList(divideIndex,size);\r
-java.util.Collections.reverse(sublist1);\r
-java.util.Collections.reverse(sublist2);\r
-java.util.Collections.reverse(list);\r
-}},"java.util.List,~N");\r
-c$.indexOfSubList=Clazz.defineMethod(c$,"indexOfSubList",\r
-function(list,sublist){\r
-var size=list.size();\r
-var sublistSize=sublist.size();\r
-if(sublistSize>size){\r
-return-1;\r
-}if(sublistSize==0){\r
-return 0;\r
-}var firstObj=sublist.get(0);\r
-var index=list.indexOf(firstObj);\r
-if(index==-1){\r
-return-1;\r
-}while(index<size&&(size-index>=sublistSize)){\r
-var listIt=list.listIterator(index);\r
-if((firstObj==null)?listIt.next()==null:firstObj.equals(listIt.next())){\r
-var sublistIt=sublist.listIterator(1);\r
-var difFound=false;\r
-while(sublistIt.hasNext()){\r
-var element=sublistIt.next();\r
-if(!listIt.hasNext()){\r
-return-1;\r
-}if((element==null)?listIt.next()!=null:!element.equals(listIt.next())){\r
-difFound=true;\r
-break;\r
-}}\r
-if(!difFound){\r
-return index;\r
-}}index++;\r
-}\r
-return-1;\r
-},"java.util.List,java.util.List");\r
-c$.lastIndexOfSubList=Clazz.defineMethod(c$,"lastIndexOfSubList",\r
-function(list,sublist){\r
-var sublistSize=sublist.size();\r
-var size=list.size();\r
-if(sublistSize>size){\r
-return-1;\r
-}if(sublistSize==0){\r
-return size;\r
-}var lastObj=sublist.get(sublistSize-1);\r
-var index=list.lastIndexOf(lastObj);\r
-while((index>-1)&&(index+1>=sublistSize)){\r
-var listIt=list.listIterator(index+1);\r
-if((lastObj==null)?listIt.previous()==null:lastObj.equals(listIt.previous())){\r
-var sublistIt=sublist.listIterator(sublistSize-1);\r
-var difFound=false;\r
-while(sublistIt.hasPrevious()){\r
-var element=sublistIt.previous();\r
-if(!listIt.hasPrevious()){\r
-return-1;\r
-}if((element==null)?listIt.previous()!=null:!element.equals(listIt.previous())){\r
-difFound=true;\r
-break;\r
-}}\r
-if(!difFound){\r
-return listIt.nextIndex();\r
-}}index--;\r
-}\r
-return-1;\r
-},"java.util.List,java.util.List");\r
-c$.list=Clazz.defineMethod(c$,"list",\r
-function(enumeration){\r
-var list=new java.util.ArrayList();\r
-while(enumeration.hasMoreElements()){\r
-list.add(enumeration.nextElement());\r
-}\r
-return list;\r
-},"java.util.Enumeration");\r
-c$.synchronizedCollection=Clazz.defineMethod(c$,"synchronizedCollection",\r
-function(collection){\r
-if(collection==null){\r
-throw new NullPointerException();\r
-}return new java.util.Collections.SynchronizedCollection(collection);\r
-},"java.util.Collection");\r
-c$.synchronizedList=Clazz.defineMethod(c$,"synchronizedList",\r
-function(list){\r
-if(list==null){\r
-throw new NullPointerException();\r
-}if(Clazz.instanceOf(list,java.util.RandomAccess)){\r
-return new java.util.Collections.SynchronizedRandomAccessList(list);\r
-}return new java.util.Collections.SynchronizedList(list);\r
-},"java.util.List");\r
-c$.synchronizedMap=Clazz.defineMethod(c$,"synchronizedMap",\r
-function(map){\r
-if(map==null){\r
-throw new NullPointerException();\r
-}return new java.util.Collections.SynchronizedMap(map);\r
-},"java.util.Map");\r
-c$.synchronizedSet=Clazz.defineMethod(c$,"synchronizedSet",\r
-function(set){\r
-if(set==null){\r
-throw new NullPointerException();\r
-}return new java.util.Collections.SynchronizedSet(set);\r
-},"java.util.Set");\r
-c$.synchronizedSortedMap=Clazz.defineMethod(c$,"synchronizedSortedMap",\r
-function(map){\r
-if(map==null){\r
-throw new NullPointerException();\r
-}return new java.util.Collections.SynchronizedSortedMap(map);\r
-},"java.util.SortedMap");\r
-c$.synchronizedSortedSet=Clazz.defineMethod(c$,"synchronizedSortedSet",\r
-function(set){\r
-if(set==null){\r
-throw new NullPointerException();\r
-}return new java.util.Collections.SynchronizedSortedSet(set);\r
-},"java.util.SortedSet");\r
-c$.unmodifiableCollection=Clazz.defineMethod(c$,"unmodifiableCollection",\r
-function(collection){\r
-if(collection==null){\r
-throw new NullPointerException();\r
-}return new java.util.Collections.UnmodifiableCollection(collection);\r
-},"java.util.Collection");\r
-c$.unmodifiableList=Clazz.defineMethod(c$,"unmodifiableList",\r
-function(list){\r
-if(list==null){\r
-throw new NullPointerException();\r
-}if(Clazz.instanceOf(list,java.util.RandomAccess)){\r
-return new java.util.Collections.UnmodifiableRandomAccessList(list);\r
-}return new java.util.Collections.UnmodifiableList(list);\r
-},"java.util.List");\r
-c$.unmodifiableMap=Clazz.defineMethod(c$,"unmodifiableMap",\r
-function(map){\r
-if(map==null){\r
-throw new NullPointerException();\r
-}return new java.util.Collections.UnmodifiableMap(map);\r
-},"java.util.Map");\r
-c$.unmodifiableSet=Clazz.defineMethod(c$,"unmodifiableSet",\r
-function(set){\r
-if(set==null){\r
-throw new NullPointerException();\r
-}return new java.util.Collections.UnmodifiableSet(set);\r
-},"java.util.Set");\r
-c$.unmodifiableSortedMap=Clazz.defineMethod(c$,"unmodifiableSortedMap",\r
-function(map){\r
-if(map==null){\r
-throw new NullPointerException();\r
-}return new java.util.Collections.UnmodifiableSortedMap(map);\r
-},"java.util.SortedMap");\r
-c$.unmodifiableSortedSet=Clazz.defineMethod(c$,"unmodifiableSortedSet",\r
-function(set){\r
-if(set==null){\r
-throw new NullPointerException();\r
-}return new java.util.Collections.UnmodifiableSortedSet(set);\r
-},"java.util.SortedSet");\r
-c$.frequency=Clazz.defineMethod(c$,"frequency",\r
-function(c,o){\r
-if(c==null){\r
-throw new NullPointerException();\r
-}if(c.isEmpty()){\r
-return 0;\r
-}\r
-var result=0;\r
-var itr=c.iterator();\r
-while(itr.hasNext()){\r
-var e=itr.next();\r
-if(o==null?e==null:o.equals(e)){\r
-result++;\r
-}}\r
-return result;\r
-},"java.util.Collection,~O");\r
-\r
-c$.emptyList=Clazz.defineMethod(c$,"emptyList",\r
-function(){\r
-return java.util.Collections.EMPTY_LIST;\r
-});\r
-c$.emptySet=Clazz.defineMethod(c$,"emptySet",\r
-function(){\r
-return java.util.Collections.EMPTY_SET;\r
-});\r
-c$.emptyMap=Clazz.defineMethod(c$,"emptyMap",\r
-function(){\r
-return java.util.Collections.EMPTY_MAP;\r
-});\r
-c$.checkedCollection=Clazz.defineMethod(c$,"checkedCollection",\r
-function(c,type){\r
-return new java.util.Collections.CheckedCollection(c,type);\r
-},"java.util.Collection,Class");\r
-c$.checkedMap=Clazz.defineMethod(c$,"checkedMap",\r
-function(m,keyType,valueType){\r
-return new java.util.Collections.CheckedMap(m,keyType,valueType);\r
-},"java.util.Map,Class,Class");\r
-c$.checkedList=Clazz.defineMethod(c$,"checkedList",\r
-function(list,type){\r
-if(Clazz.instanceOf(list,java.util.RandomAccess)){\r
-return new java.util.Collections.CheckedRandomAccessList(list,type);\r
-}return new java.util.Collections.CheckedList(list,type);\r
-},"java.util.List,Class");\r
-c$.checkedSet=Clazz.defineMethod(c$,"checkedSet",\r
-function(s,type){\r
-return new java.util.Collections.CheckedSet(s,type);\r
-},"java.util.Set,Class");\r
-c$.checkedSortedMap=Clazz.defineMethod(c$,"checkedSortedMap",\r
-function(m,keyType,valueType){\r
-return new java.util.Collections.CheckedSortedMap(m,keyType,valueType);\r
-},"java.util.SortedMap,Class,Class");\r
-c$.checkedSortedSet=Clazz.defineMethod(c$,"checkedSortedSet",\r
-function(s,type){\r
-return new java.util.Collections.CheckedSortedSet(s,type);\r
-},"java.util.SortedSet,Class");\r
-c$.addAll=Clazz.defineMethod(c$,"addAll",\r
-function(c,a){\r
-var modified=false;\r
-for(var i=0;i<a.length;i++){\r
-modified=new Boolean(modified|c.add(a[i])).valueOf();\r
-}\r
-return modified;\r
-},"java.util.Collection,~A");\r
-c$.disjoint=Clazz.defineMethod(c$,"disjoint",\r
-function(c1,c2){\r
-if((Clazz.instanceOf(c1,java.util.Set))&&!(Clazz.instanceOf(c2,java.util.Set))||(c2.size())>c1.size()){\r
-var tmp=c1;\r
-c1=c2;\r
-c2=tmp;\r
-}var it=c1.iterator();\r
-while(it.hasNext()){\r
-if(c2.contains(it.next())){\r
-return false;\r
-}}\r
-return true;\r
-},"java.util.Collection,java.util.Collection");\r
-c$.checkType=Clazz.defineMethod(c$,"checkType",\r
-function(obj,type){\r
-if(!type.isInstance(obj)){\r
-throw new ClassCastException("Attempt to insert "+obj.getClass()+" element into collection with element type "+type);\r
-}return obj;\r
-},"~O,Class");\r
-\r
-c$.$Collections$1$=function(c){\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-Clazz.prepareCallback(this,arguments);\r
-this.it=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util,"Collections$1",null,java.util.Enumeration);\r
-\r
-Clazz.prepareFields(c$,function(){\r
-this.it=c.iterator();\r
-});\r
-\r
-Clazz.defineMethod(c$,"hasMoreElements",\r
-function(){\r
-return this.it.hasNext();\r
-});\r
-Clazz.defineMethod(c$,"nextElement",\r
-function(){\r
-return this.it.next();\r
-});\r
-c$=Clazz.p0p();\r
-};\r
-\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.n=0;\r
-this.element=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"CopiesList",java.util.AbstractList,java.io.Serializable);\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-Clazz.superConstructor(this,java.util.Collections.CopiesList,[]);\r
-if(a<0){\r
-throw new IllegalArgumentException();\r
-}this.n=a;\r
-this.element=b;\r
-},"~N,~O");\r
-Clazz.overrideMethod(c$,"contains",\r
-function(a){\r
-return this.element==null?a==null:this.element.equals(a);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"size",\r
-function(){\r
-return this.n;\r
-});\r
-Clazz.overrideMethod(c$,"get",\r
-function(a){\r
-if(0<=a&&a<this.n){\r
-return this.element;\r
-}throw new IndexOutOfBoundsException();\r
-},"~N");\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareType(java.util.Collections,"EmptyList",java.util.AbstractList,java.io.Serializable);\r
-Clazz.overrideMethod(c$,"contains",\r
-function(a){\r
-return false;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"size",\r
-function(){\r
-return 0;\r
-});\r
-Clazz.overrideMethod(c$,"get",\r
-function(a){\r
-throw new IndexOutOfBoundsException();\r
-},"~N");\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareType(java.util.Collections,"EmptySet",java.util.AbstractSet,java.io.Serializable);\r
-Clazz.overrideMethod(c$,"contains",\r
-function(a){\r
-return false;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"size",\r
-function(){\r
-return 0;\r
-});\r
-Clazz.overrideMethod(c$,"iterator",\r
-function(){\r
-return((Clazz.isClassDefined("java.util.Collections$EmptySet$1")?0:java.util.Collections.EmptySet.$Collections$EmptySet$1$()),Clazz.innerTypeInstance(java.util.Collections$EmptySet$1,this,null));\r
-});\r
-c$.$Collections$EmptySet$1$=function(){\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareAnonymous(java.util,"Collections$EmptySet$1",null,java.util.Iterator);\r
-Clazz.overrideMethod(c$,"hasNext",\r
-function(){\r
-return false;\r
-});\r
-Clazz.overrideMethod(c$,"next",\r
-function(){\r
-throw new java.util.NoSuchElementException();\r
-});\r
-Clazz.overrideMethod(c$,"remove",\r
-function(){\r
-throw new UnsupportedOperationException();\r
-});\r
-c$=Clazz.p0p();\r
-};\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareType(java.util.Collections,"EmptyMap",java.util.AbstractMap,java.io.Serializable);\r
-Clazz.overrideMethod(c$,"containsKey",\r
-function(a){\r
-return false;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"containsValue",\r
-function(a){\r
-return false;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"entrySet",\r
-function(){\r
-return java.util.Collections.EMPTY_SET;\r
-});\r
-Clazz.overrideMethod(c$,"get",\r
-function(a){\r
-return null;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"keySet",\r
-function(){\r
-return java.util.Collections.EMPTY_SET;\r
-});\r
-Clazz.overrideMethod(c$,"values",\r
-function(){\r
-return java.util.Collections.EMPTY_LIST;\r
-});\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareType(java.util.Collections,"ReverseComparator",null,[java.util.Comparator,java.io.Serializable]);\r
-Clazz.overrideMethod(c$,"compare",\r
-function(a,b){\r
-var c=b;\r
-return c.compareTo(a);\r
-},"~O,~O");\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.comparator=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"ReverseComparatorWithComparator",null,[java.util.Comparator,java.io.Serializable]);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-this.comparator=a;\r
-},"java.util.Comparator");\r
-Clazz.defineMethod(c$,"compare",\r
-function(a,b){\r
-return this.comparator.compare(b,a);\r
-},"~O,~O");\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.element=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"SingletonSet",java.util.AbstractSet,java.io.Serializable);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-Clazz.superConstructor(this,java.util.Collections.SingletonSet,[]);\r
-this.element=a;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"contains",\r
-function(a){\r
-return this.element==null?a==null:this.element.equals(a);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"size",\r
-function(){\r
-return 1;\r
-});\r
-Clazz.overrideMethod(c$,"iterator",\r
-function(){\r
-return((Clazz.isClassDefined("java.util.Collections$SingletonSet$1")?0:java.util.Collections.SingletonSet.$Collections$SingletonSet$1$()),Clazz.innerTypeInstance(java.util.Collections$SingletonSet$1,this,null));\r
-});\r
-c$.$Collections$SingletonSet$1$=function(){\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-Clazz.prepareCallback(this,arguments);\r
-this.$hasNext=true;\r
-Clazz.instantialize(this,arguments);\r
-},java.util,"Collections$SingletonSet$1",null,java.util.Iterator);\r
-Clazz.overrideMethod(c$,"hasNext",\r
-function(){\r
-return this.$hasNext;\r
-});\r
-Clazz.overrideMethod(c$,"next",\r
-function(){\r
-if(this.$hasNext){\r
-this.$hasNext=false;\r
-return this.b$["java.util.Collections.SingletonSet"].element;\r
-}throw new java.util.NoSuchElementException();\r
-});\r
-Clazz.overrideMethod(c$,"remove",\r
-function(){\r
-throw new UnsupportedOperationException();\r
-});\r
-c$=Clazz.p0p();\r
-};\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.element=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"SingletonList",java.util.AbstractList,java.io.Serializable);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-Clazz.superConstructor(this,java.util.Collections.SingletonList,[]);\r
-this.element=a;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"contains",\r
-function(a){\r
-return this.element==null?a==null:this.element.equals(a);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"get",\r
-function(a){\r
-if(a==0){\r
-return this.element;\r
-}throw new IndexOutOfBoundsException();\r
-},"~N");\r
-Clazz.overrideMethod(c$,"size",\r
-function(){\r
-return 1;\r
-});\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.k=null;\r
-this.v=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"SingletonMap",java.util.AbstractMap,java.io.Serializable);\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-Clazz.superConstructor(this,java.util.Collections.SingletonMap,[]);\r
-this.k=a;\r
-this.v=b;\r
-},"~O,~O");\r
-Clazz.overrideMethod(c$,"containsKey",\r
-function(a){\r
-return this.k==null?a==null:this.k.equals(a);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"containsValue",\r
-function(a){\r
-return this.v==null?a==null:this.v.equals(a);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"get",\r
-function(a){\r
-if(this.containsKey(a)){\r
-return this.v;\r
-}return null;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"size",\r
-function(){\r
-return 1;\r
-});\r
-Clazz.overrideMethod(c$,"entrySet",\r
-function(){\r
-return((Clazz.isClassDefined("java.util.Collections$SingletonMap$1")?0:java.util.Collections.SingletonMap.$Collections$SingletonMap$1$()),Clazz.innerTypeInstance(java.util.Collections$SingletonMap$1,this,null));\r
-});\r
-c$.$Collections$SingletonMap$1$=function(){\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareAnonymous(java.util,"Collections$SingletonMap$1",java.util.AbstractSet);\r
-Clazz.overrideMethod(c$,"contains",\r
-function(a){\r
-if(Clazz.instanceOf(a,java.util.Map.Entry)){\r
-var b=a;\r
-return this.b$["java.util.Collections.SingletonMap"].containsKey(b.getKey())&&this.b$["java.util.Collections.SingletonMap"].containsValue(b.getValue());\r
-}return false;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"size",\r
-function(){\r
-return 1;\r
-});\r
-Clazz.overrideMethod(c$,"iterator",\r
-function(){\r
-return((Clazz.isClassDefined("java.util.Collections$SingletonMap$1$1")?0:java.util.Collections.$Collections$SingletonMap$1$1$()),Clazz.innerTypeInstance(java.util.Collections$SingletonMap$1$1,this,null));\r
-});\r
-c$=Clazz.p0p();\r
-};\r
-c$.$Collections$SingletonMap$1$1$=function(){\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-Clazz.prepareCallback(this,arguments);\r
-this.$hasNext=true;\r
-Clazz.instantialize(this,arguments);\r
-},java.util,"Collections$SingletonMap$1$1",null,java.util.Iterator);\r
-Clazz.overrideMethod(c$,"hasNext",\r
-function(){\r
-return this.$hasNext;\r
-});\r
-Clazz.overrideMethod(c$,"next",\r
-function(){\r
-if(this.$hasNext){\r
-this.$hasNext=false;\r
-return((Clazz.isClassDefined("java.util.Collections$SingletonMap$1$1$1")?0:java.util.Collections.$Collections$SingletonMap$1$1$1$()),Clazz.innerTypeInstance(java.util.Collections$SingletonMap$1$1$1,this,null));\r
-}throw new java.util.NoSuchElementException();\r
-});\r
-Clazz.overrideMethod(c$,"remove",\r
-function(){\r
-throw new UnsupportedOperationException();\r
-});\r
-c$=Clazz.p0p();\r
-};\r
-c$.$Collections$SingletonMap$1$1$1$=function(){\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareAnonymous(java.util,"Collections$SingletonMap$1$1$1",null,java.util.Map.Entry);\r
-Clazz.overrideMethod(c$,"equals",\r
-function(a){\r
-return this.b$["java.util.Collections$SingletonMap$1"].contains(a);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"getKey",\r
-function(){\r
-return this.b$["java.util.Collections.SingletonMap"].k;\r
-});\r
-Clazz.overrideMethod(c$,"getValue",\r
-function(){\r
-return this.b$["java.util.Collections.SingletonMap"].v;\r
-});\r
-Clazz.overrideMethod(c$,"hashCode",\r
-function(){\r
-return(this.b$["java.util.Collections.SingletonMap"].k==null?0:this.b$["java.util.Collections.SingletonMap"].k.hashCode())^(this.b$["java.util.Collections.SingletonMap"].v==null?0:this.b$["java.util.Collections.SingletonMap"].v.hashCode());\r
-});\r
-Clazz.overrideMethod(c$,"setValue",\r
-function(a){\r
-throw new UnsupportedOperationException();\r
-},"~O");\r
-c$=Clazz.p0p();\r
-};\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.c=null;\r
-this.mutex=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"SynchronizedCollection",null,[java.util.Collection,java.io.Serializable]);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-this.c=a;\r
-this.mutex=this;\r
-},"java.util.Collection");\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-this.c=a;\r
-this.mutex=b;\r
-},"java.util.Collection,~O");\r
-Clazz.defineMethod(c$,"add",\r
-function(a){\r
-{\r
-return this.c.add(a);\r
-}},"~O");\r
-Clazz.defineMethod(c$,"addAll",\r
-function(a){\r
-{\r
-return this.c.addAll(a);\r
-}},"java.util.Collection");\r
-Clazz.defineMethod(c$,"clear",\r
-function(){\r
-{\r
-this.c.clear();\r
-}});\r
-Clazz.defineMethod(c$,"contains",\r
-function(a){\r
-{\r
-return this.c.contains(a);\r
-}},"~O");\r
-Clazz.defineMethod(c$,"containsAll",\r
-function(a){\r
-{\r
-return this.c.containsAll(a);\r
-}},"java.util.Collection");\r
-Clazz.defineMethod(c$,"isEmpty",\r
-function(){\r
-{\r
-return this.c.isEmpty();\r
-}});\r
-Clazz.defineMethod(c$,"iterator",\r
-function(){\r
-{\r
-return this.c.iterator();\r
-}});\r
-Clazz.defineMethod(c$,"remove",\r
-function(a){\r
-{\r
-return this.c.remove(a);\r
-}},"~O");\r
-Clazz.defineMethod(c$,"removeAll",\r
-function(a){\r
-{\r
-return this.c.removeAll(a);\r
-}},"java.util.Collection");\r
-Clazz.defineMethod(c$,"retainAll",\r
-function(a){\r
-{\r
-return this.c.retainAll(a);\r
-}},"java.util.Collection");\r
-Clazz.defineMethod(c$,"size",\r
-function(){\r
-{\r
-return this.c.size();\r
-}});\r
-Clazz.defineMethod(c$,"toArray",\r
-function(){\r
-{\r
-return this.c.toArray();\r
-}});\r
-Clazz.defineMethod(c$,"toString",\r
-function(){\r
-{\r
-return this.c.toString();\r
-}});\r
-Clazz.defineMethod(c$,"toArray",\r
-function(a){\r
-{\r
-return this.c.toArray(a);\r
-}},"~A");\r
-c$=Clazz.p0p();\r
-\r
-\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.list=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"SynchronizedList",java.util.Collections.SynchronizedCollection,java.util.List);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-Clazz.superConstructor(this,java.util.Collections.SynchronizedList,[a]);\r
-this.list=a;\r
-},"java.util.List");\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-Clazz.superConstructor(this,java.util.Collections.SynchronizedList,[a,b]);\r
-this.list=a;\r
-},"java.util.List,~O");\r
-Clazz.defineMethod(c$,"add",\r
-function(a,b){\r
-{\r
-this.list.add(a,b);\r
-}},"~N,~O");\r
-Clazz.defineMethod(c$,"addAll",\r
-function(a,b){\r
-{\r
-return this.list.addAll(a,b);\r
-}},"~N,java.util.Collection");\r
-Clazz.overrideMethod(c$,"equals",\r
-function(a){\r
-{\r
-return this.list.equals(a);\r
-}},"~O");\r
-Clazz.defineMethod(c$,"get",\r
-function(a){\r
-{\r
-return this.list.get(a);\r
-}},"~N");\r
-Clazz.overrideMethod(c$,"hashCode",\r
-function(){\r
-{\r
-return this.list.hashCode();\r
-}});\r
-Clazz.defineMethod(c$,"indexOf",\r
-function(a){\r
-{\r
-return this.list.indexOf(a);\r
-}},"~O");\r
-Clazz.defineMethod(c$,"lastIndexOf",\r
-function(a){\r
-{\r
-return this.list.lastIndexOf(a);\r
-}},"~O");\r
-//Clazz.defineMethod(c$,"listIterator",\r
-//function(){\r
-//{\r
-//return this.list.listIterator();\r
-//}});\r
-Clazz.defineMethod(c$,"listIterator",\r
-function(a){\r
-{\r
-a || (a = 0);\r
-return this.list.listIterator(a);\r
-}},"~N");\r
-Clazz.defineMethod(c$,"remove",\r
-function(a){\r
-{\r
-return this.list.remove(a);\r
-}},"~N");\r
-Clazz.defineMethod(c$,"set",\r
-function(a,b){\r
-{\r
-return this.list.set(a,b);\r
-}},"~N,~O");\r
-Clazz.defineMethod(c$,"subList",\r
-function(a,b){\r
-{\r
-return new java.util.Collections.SynchronizedList(this.list.subList(a,b),this.mutex);\r
-}},"~N,~N");\r
-c$=Clazz.p0p();\r
-\r
-\r
-\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareType(java.util.Collections,"SynchronizedRandomAccessList",java.util.Collections.SynchronizedList,java.util.RandomAccess);\r
-Clazz.overrideMethod(c$,"subList",\r
-function(a,b){\r
-{\r
-return new java.util.Collections.SynchronizedRandomAccessList(this.list.subList(a,b),this.mutex);\r
-}},"~N,~N");\r
-c$=Clazz.p0p();\r
-\r
-\r
-\r
-\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.m=null;\r
-this.mutex=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"SynchronizedMap",null,[java.util.Map,java.io.Serializable]);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-this.m=a;\r
-this.mutex=this;\r
-},"java.util.Map");\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-this.m=a;\r
-this.mutex=b;\r
-},"java.util.Map,~O");\r
-Clazz.defineMethod(c$,"clear",\r
-function(){\r
-{\r
-this.m.clear();\r
-}});\r
-Clazz.defineMethod(c$,"containsKey",\r
-function(a){\r
-{\r
-return this.m.containsKey(a);\r
-}},"~O");\r
-Clazz.defineMethod(c$,"containsValue",\r
-function(a){\r
-{\r
-return this.m.containsValue(a);\r
-}},"~O");\r
-Clazz.defineMethod(c$,"entrySet",\r
-function(){\r
-{\r
-return new java.util.Collections.SynchronizedSet(this.m.entrySet(),this.mutex);\r
-}});\r
-Clazz.overrideMethod(c$,"equals",\r
-function(a){\r
-{\r
-return this.m.equals(a);\r
-}},"~O");\r
-Clazz.defineMethod(c$,"get",\r
-function(a){\r
-{\r
-return this.m.get(a);\r
-}},"~O");\r
-Clazz.overrideMethod(c$,"hashCode",\r
-function(){\r
-{\r
-return this.m.hashCode();\r
-}});\r
-Clazz.defineMethod(c$,"isEmpty",\r
-function(){\r
-{\r
-return this.m.isEmpty();\r
-}});\r
-Clazz.defineMethod(c$,"keySet",\r
-function(){\r
-{\r
-return new java.util.Collections.SynchronizedSet(this.m.keySet(),this.mutex);\r
-}});\r
-Clazz.defineMethod(c$,"put",\r
-function(a,b){\r
-{\r
-return this.m.put(a,b);\r
-}},"~O,~O");\r
-Clazz.defineMethod(c$,"putAll",\r
-function(a){\r
-{\r
-this.m.putAll(a);\r
-}},"java.util.Map");\r
-Clazz.defineMethod(c$,"remove",\r
-function(a){\r
-{\r
-return this.m.remove(a);\r
-}},"~O");\r
-Clazz.defineMethod(c$,"size",\r
-function(){\r
-{\r
-return this.m.size();\r
-}});\r
-Clazz.defineMethod(c$,"values",\r
-function(){\r
-{\r
-return new java.util.Collections.SynchronizedCollection(this.m.values(),this.mutex);\r
-}});\r
-Clazz.defineMethod(c$,"toString",\r
-function(){\r
-{\r
-return this.m.toString();\r
-}});\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareType(java.util.Collections,"SynchronizedSet",java.util.Collections.SynchronizedCollection,java.util.Set);\r
-Clazz.overrideMethod(c$,"equals",\r
-function(a){\r
-{\r
-return this.c.equals(a);\r
-}},"~O");\r
-Clazz.overrideMethod(c$,"hashCode",\r
-function(){\r
-{\r
-return this.c.hashCode();\r
-}});\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.sm=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"SynchronizedSortedMap",java.util.Collections.SynchronizedMap,java.util.SortedMap);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-Clazz.superConstructor(this,java.util.Collections.SynchronizedSortedMap,[a]);\r
-this.sm=a;\r
-},"java.util.SortedMap");\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-Clazz.superConstructor(this,java.util.Collections.SynchronizedSortedMap,[a,b]);\r
-this.sm=a;\r
-},"java.util.SortedMap,~O");\r
-Clazz.defineMethod(c$,"comparator",\r
-function(){\r
-{\r
-return this.sm.comparator();\r
-}});\r
-Clazz.defineMethod(c$,"firstKey",\r
-function(){\r
-{\r
-return this.sm.firstKey();\r
-}});\r
-Clazz.defineMethod(c$,"headMap",\r
-function(a){\r
-{\r
-return new java.util.Collections.SynchronizedSortedMap(this.sm.headMap(a),this.mutex);\r
-}},"~O");\r
-Clazz.defineMethod(c$,"lastKey",\r
-function(){\r
-{\r
-return this.sm.lastKey();\r
-}});\r
-Clazz.defineMethod(c$,"subMap",\r
-function(a,b){\r
-{\r
-return new java.util.Collections.SynchronizedSortedMap(this.sm.subMap(a,b),this.mutex);\r
-}},"~O,~O");\r
-Clazz.defineMethod(c$,"tailMap",\r
-function(a){\r
-{\r
-return new java.util.Collections.SynchronizedSortedMap(this.sm.tailMap(a),this.mutex);\r
-}},"~O");\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.ss=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"SynchronizedSortedSet",java.util.Collections.SynchronizedSet,java.util.SortedSet);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-Clazz.superConstructor(this,java.util.Collections.SynchronizedSortedSet,[a]);\r
-this.ss=a;\r
-},"java.util.SortedSet");\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-Clazz.superConstructor(this,java.util.Collections.SynchronizedSortedSet,[a,b]);\r
-this.ss=a;\r
-},"java.util.SortedSet,~O");\r
-Clazz.defineMethod(c$,"comparator",\r
-function(){\r
-{\r
-return this.ss.comparator();\r
-}});\r
-Clazz.defineMethod(c$,"first",\r
-function(){\r
-{\r
-return this.ss.first();\r
-}});\r
-Clazz.defineMethod(c$,"headSet",\r
-function(a){\r
-{\r
-return new java.util.Collections.SynchronizedSortedSet(this.ss.headSet(a),this.mutex);\r
-}},"~O");\r
-Clazz.defineMethod(c$,"last",\r
-function(){\r
-{\r
-return this.ss.last();\r
-}});\r
-Clazz.defineMethod(c$,"subSet",\r
-function(a,b){\r
-{\r
-return new java.util.Collections.SynchronizedSortedSet(this.ss.subSet(a,b),this.mutex);\r
-}},"~O,~O");\r
-Clazz.defineMethod(c$,"tailSet",\r
-function(a){\r
-{\r
-return new java.util.Collections.SynchronizedSortedSet(this.ss.tailSet(a),this.mutex);\r
-}},"~O");\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.c=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"UnmodifiableCollection",null,[java.util.Collection,java.io.Serializable]);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-this.c=a;\r
-},"java.util.Collection");\r
-Clazz.overrideMethod(c$,"add",\r
-function(a){\r
-throw new UnsupportedOperationException();\r
-},"~O");\r
-Clazz.overrideMethod(c$,"addAll",\r
-function(a){\r
-throw new UnsupportedOperationException();\r
-},"java.util.Collection");\r
-Clazz.overrideMethod(c$,"clear",\r
-function(){\r
-throw new UnsupportedOperationException();\r
-});\r
-Clazz.defineMethod(c$,"contains",\r
-function(a){\r
-return this.c.contains(a);\r
-},"~O");\r
-Clazz.defineMethod(c$,"containsAll",\r
-function(a){\r
-return this.c.containsAll(a);\r
-},"java.util.Collection");\r
-Clazz.defineMethod(c$,"isEmpty",\r
-function(){\r
-return this.c.isEmpty();\r
-});\r
-Clazz.defineMethod(c$,"iterator",\r
-function(){\r
-return((Clazz.isClassDefined("java.util.Collections$UnmodifiableCollection$1")?0:java.util.Collections.UnmodifiableCollection.$Collections$UnmodifiableCollection$1$()),Clazz.innerTypeInstance(java.util.Collections$UnmodifiableCollection$1,this,null));\r
-});\r
-Clazz.overrideMethod(c$,"remove",\r
-function(a){\r
-throw new UnsupportedOperationException();\r
-},"~O");\r
-Clazz.overrideMethod(c$,"removeAll",\r
-function(a){\r
-throw new UnsupportedOperationException();\r
-},"java.util.Collection");\r
-Clazz.overrideMethod(c$,"retainAll",\r
-function(a){\r
-throw new UnsupportedOperationException();\r
-},"java.util.Collection");\r
-Clazz.defineMethod(c$,"size",\r
-function(){\r
-return this.c.size();\r
-});\r
-Clazz.defineMethod(c$,"toArray",\r
-function(){\r
-return this.c.toArray();\r
-});\r
-Clazz.defineMethod(c$,"toArray",\r
-function(a){\r
-return this.c.toArray(a);\r
-},"~A");\r
-Clazz.defineMethod(c$,"toString",\r
-function(){\r
-return this.c.toString();\r
-});\r
-c$.$Collections$UnmodifiableCollection$1$=function(){\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-Clazz.prepareCallback(this,arguments);\r
-this.iterator=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util,"Collections$UnmodifiableCollection$1",null,java.util.Iterator);\r
-Clazz.prepareFields(c$,function(){\r
-this.iterator=this.b$["java.util.Collections.UnmodifiableCollection"].c.iterator();\r
-});\r
-Clazz.defineMethod(c$,"hasNext",\r
-function(){\r
-return this.iterator.hasNext();\r
-});\r
-Clazz.defineMethod(c$,"next",\r
-function(){\r
-return this.iterator.next();\r
-});\r
-Clazz.overrideMethod(c$,"remove",\r
-function(){\r
-throw new UnsupportedOperationException();\r
-});\r
-c$=Clazz.p0p();\r
-};\r
-c$=Clazz.p0p();\r
-\r
-//BH note: a declared static superclass must come before a static class referencing it\r
-\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.list=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"UnmodifiableList",java.util.Collections.UnmodifiableCollection,java.util.List);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-Clazz.superConstructor(this,java.util.Collections.UnmodifiableList,[a]);\r
-this.list=a;\r
-},"java.util.List");\r
-Clazz.defineMethod(c$,"add",\r
-function(a,b){\r
-throw new UnsupportedOperationException();\r
-},"~N,~O");\r
-Clazz.defineMethod(c$,"addAll",\r
-function(a,b){\r
-throw new UnsupportedOperationException();\r
-},"~N,java.util.Collection");\r
-Clazz.overrideMethod(c$,"equals",\r
-function(a){\r
-return this.list.equals(a);\r
-},"~O");\r
-Clazz.defineMethod(c$,"get",\r
-function(a){\r
-return this.list.get(a);\r
-},"~N");\r
-Clazz.overrideMethod(c$,"hashcode",\r
-function(){\r
-return this.list.hashCode();\r
-});\r
-Clazz.defineMethod(c$,"indexOf",\r
-function(a){\r
-return this.list.indexOf(a);\r
-},"~O");\r
-Clazz.defineMethod(c$,"lastIndexOf",\r
-function(a){\r
-return this.list.lastIndexOf(a);\r
-},"~O");\r
-//Clazz.defineMethod(c$,"listIterator",\r
-//function(){\r
-//return this.listIterator(0);\r
-//});\r
-Clazz.defineMethod(c$,"listIterator",\r
-function(a){\r
-a || (a = 0);\r
-return((Clazz.isClassDefined("java.util.Collections$UnmodifiableList$1")?0:java.util.Collections.UnmodifiableList.$Collections$UnmodifiableList$1$()),Clazz.innerTypeInstance(java.util.Collections$UnmodifiableList$1,this,null));\r
-},"~N");\r
-Clazz.defineMethod(c$,"remove",\r
-function(a){\r
-throw new UnsupportedOperationException();\r
-},"~N");\r
-Clazz.overrideMethod(c$,"set",\r
-function(a,b){\r
-throw new UnsupportedOperationException();\r
-},"~N,~O");\r
-Clazz.defineMethod(c$,"subList",\r
-function(a,b){\r
-return new java.util.Collections.UnmodifiableList(this.list.subList(a,b));\r
-},"~N,~N");\r
-c$.$Collections$UnmodifiableList$1$=function(){\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-Clazz.prepareCallback(this,arguments);\r
-this.iterator=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util,"Collections$UnmodifiableList$1",null,java.util.ListIterator);\r
-Clazz.prepareFields(c$,function(){\r
-this.iterator=this.b$["java.util.Collections.UnmodifiableList"].list.listIterator(location);\r
-});\r
-Clazz.overrideMethod(c$,"add",\r
-function(b){\r
-throw new UnsupportedOperationException();\r
-},"~O");\r
-Clazz.defineMethod(c$,"hasNext",\r
-function(){\r
-return this.iterator.hasNext();\r
-});\r
-Clazz.defineMethod(c$,"hasPrevious",\r
-function(){\r
-return this.iterator.hasPrevious();\r
-});\r
-Clazz.defineMethod(c$,"next",\r
-function(){\r
-return this.iterator.next();\r
-});\r
-Clazz.defineMethod(c$,"nextIndex",\r
-function(){\r
-return this.iterator.nextIndex();\r
-});\r
-Clazz.defineMethod(c$,"previous",\r
-function(){\r
-return this.iterator.previous();\r
-});\r
-Clazz.defineMethod(c$,"previousIndex",\r
-function(){\r
-return this.iterator.previousIndex();\r
-});\r
-Clazz.overrideMethod(c$,"remove",\r
-function(){\r
-throw new UnsupportedOperationException();\r
-});\r
-Clazz.overrideMethod(c$,"set",\r
-function(b){\r
-throw new UnsupportedOperationException();\r
-},"~O");\r
-c$=Clazz.p0p();\r
-};\r
-c$=Clazz.p0p();\r
-\r
-\r
-\r
-\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareType(java.util.Collections,"UnmodifiableRandomAccessList",java.util.Collections.UnmodifiableList,java.util.RandomAccess);\r
-Clazz.overrideMethod(c$,"subList",\r
-function(a,b){\r
-return new java.util.Collections.UnmodifiableRandomAccessList(this.list.subList(a,b));\r
-},"~N,~N");\r
-c$=Clazz.p0p();\r
-\r
-\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareType(java.util.Collections,"UnmodifiableSet",java.util.Collections.UnmodifiableCollection,java.util.Set);\r
-Clazz.overrideMethod(c$,"equals",\r
-function(a){\r
-return this.c.equals(a);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"hashCode",\r
-function(){\r
-return this.c.hashCode();\r
-});\r
-c$=Clazz.p0p();\r
-\r
-\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.m=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"UnmodifiableMap",null,[java.util.Map,java.io.Serializable]);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-this.m=a;\r
-},"java.util.Map");\r
-Clazz.overrideMethod(c$,"clear",\r
-function(){\r
-throw new UnsupportedOperationException();\r
-});\r
-Clazz.defineMethod(c$,"containsKey",\r
-function(a){\r
-return this.m.containsKey(a);\r
-},"~O");\r
-Clazz.defineMethod(c$,"containsValue",\r
-function(a){\r
-return this.m.containsValue(a);\r
-},"~O");\r
-Clazz.defineMethod(c$,"entrySet",\r
-function(){\r
-return new java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet(this.m.entrySet());\r
-});\r
-Clazz.overrideMethod(c$,"equals",\r
-function(a){\r
-return this.m.equals(a);\r
-},"~O");\r
-Clazz.defineMethod(c$,"get",\r
-function(a){\r
-return this.m.get(a);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"hashcode",\r
-function(){\r
-return this.m.hashCode();\r
-});\r
-Clazz.defineMethod(c$,"isEmpty",\r
-function(){\r
-return this.m.isEmpty();\r
-});\r
-Clazz.defineMethod(c$,"keySet",\r
-function(){\r
-return new java.util.Collections.UnmodifiableSet(this.m.keySet());\r
-});\r
-Clazz.overrideMethod(c$,"put",\r
-function(a,b){\r
-throw new UnsupportedOperationException();\r
-},"~O,~O");\r
-Clazz.overrideMethod(c$,"putAll",\r
-function(a){\r
-throw new UnsupportedOperationException();\r
-},"java.util.Map");\r
-Clazz.overrideMethod(c$,"remove",\r
-function(a){\r
-throw new UnsupportedOperationException();\r
-},"~O");\r
-Clazz.defineMethod(c$,"size",\r
-function(){\r
-return this.m.size();\r
-});\r
-Clazz.defineMethod(c$,"values",\r
-function(){\r
-return new java.util.Collections.UnmodifiableCollection(this.m.values());\r
-});\r
-Clazz.defineMethod(c$,"toString",\r
-function(){\r
-return this.m.toString();\r
-});\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareType(java.util.Collections.UnmodifiableMap,"UnmodifiableEntrySet",java.util.Collections.UnmodifiableSet);\r
-Clazz.overrideMethod(c$,"iterator",\r
-function(){\r
-return((Clazz.isClassDefined("java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$1")?0:java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet.$Collections$UnmodifiableMap$UnmodifiableEntrySet$1$()),Clazz.innerTypeInstance(java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$1,this,null));\r
-});\r
-Clazz.defineMethod(c$,"toArray",\r
-function(){\r
-var a=this.c.size();\r
-var b=new Array(a);\r
-var c=this.iterator();\r
-for(var d=a;--d>=0;){\r
-b[d]=c.next();\r
-}\r
-return b;\r
-});\r
-Clazz.defineMethod(c$,"toArray",\r
-function(a){\r
-var b=this.c.size();\r
-var c=0;\r
-var d=this.iterator();\r
-if(b>a.length){\r
-var e=a.getClass().getComponentType();\r
-a=java.lang.reflect.Array.newInstance(e,b);\r
-}while(c<b){\r
-a[c++]=d.next();\r
-}\r
-if(c<a.length){\r
-a[c]=null;\r
-}return a;\r
-},"~A");\r
-c$.$Collections$UnmodifiableMap$UnmodifiableEntrySet$1$=function(){\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-Clazz.prepareCallback(this,arguments);\r
-this.iterator=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util,"Collections$UnmodifiableMap$UnmodifiableEntrySet$1",null,java.util.Iterator);\r
-Clazz.prepareFields(c$,function(){\r
-this.iterator=this.b$["java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet"].c.iterator();\r
-});\r
-Clazz.defineMethod(c$,"hasNext",\r
-function(){\r
-return this.iterator.hasNext();\r
-});\r
-Clazz.defineMethod(c$,"next",\r
-function(){\r
-return new java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet.UnmodifiableMapEntry(this.iterator.next());\r
-});\r
-Clazz.overrideMethod(c$,"remove",\r
-function(){\r
-throw new UnsupportedOperationException();\r
-});\r
-c$=Clazz.p0p();\r
-};\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.mapEntry=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet,"UnmodifiableMapEntry",null,java.util.Map.Entry);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-this.mapEntry=a;\r
-},"java.util.Map.Entry");\r
-Clazz.overrideMethod(c$,"equals",\r
-function(a){\r
-return this.mapEntry.equals(a);\r
-},"~O");\r
-Clazz.defineMethod(c$,"getKey",\r
-function(){\r
-return this.mapEntry.getKey();\r
-});\r
-Clazz.defineMethod(c$,"getValue",\r
-function(){\r
-return this.mapEntry.getValue();\r
-});\r
-Clazz.overrideMethod(c$,"hashcode",\r
-function(){\r
-return this.mapEntry.hashCode();\r
-});\r
-Clazz.overrideMethod(c$,"setValue",\r
-function(a){\r
-throw new UnsupportedOperationException();\r
-},"~O");\r
-Clazz.defineMethod(c$,"toString",\r
-function(){\r
-return this.mapEntry.toString();\r
-});\r
-c$=Clazz.p0p();\r
-c$=Clazz.p0p();\r
-c$=Clazz.p0p();\r
-\r
-\r
-\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.sm=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"UnmodifiableSortedMap",java.util.Collections.UnmodifiableMap,java.util.SortedMap);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-Clazz.superConstructor(this,java.util.Collections.UnmodifiableSortedMap,[a]);\r
-this.sm=a;\r
-},"java.util.SortedMap");\r
-Clazz.defineMethod(c$,"comparator",\r
-function(){\r
-return this.sm.comparator();\r
-});\r
-Clazz.defineMethod(c$,"firstKey",\r
-function(){\r
-return this.sm.firstKey();\r
-});\r
-Clazz.defineMethod(c$,"headMap",\r
-function(a){\r
-return new java.util.Collections.UnmodifiableSortedMap(this.sm.headMap(a));\r
-},"~O");\r
-Clazz.defineMethod(c$,"lastKey",\r
-function(){\r
-return this.sm.lastKey();\r
-});\r
-Clazz.defineMethod(c$,"subMap",\r
-function(a,b){\r
-return new java.util.Collections.UnmodifiableSortedMap(this.sm.subMap(a,b));\r
-},"~O,~O");\r
-Clazz.defineMethod(c$,"tailMap",\r
-function(a){\r
-return new java.util.Collections.UnmodifiableSortedMap(this.sm.tailMap(a));\r
-},"~O");\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.ss=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"UnmodifiableSortedSet",java.util.Collections.UnmodifiableSet,java.util.SortedSet);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-Clazz.superConstructor(this,java.util.Collections.UnmodifiableSortedSet,[a]);\r
-this.ss=a;\r
-},"java.util.SortedSet");\r
-Clazz.defineMethod(c$,"comparator",\r
-function(){\r
-return this.ss.comparator();\r
-});\r
-Clazz.defineMethod(c$,"first",\r
-function(){\r
-return this.ss.first();\r
-});\r
-Clazz.defineMethod(c$,"headSet",\r
-function(a){\r
-return new java.util.Collections.UnmodifiableSortedSet(this.ss.headSet(a));\r
-},"~O");\r
-Clazz.defineMethod(c$,"last",\r
-function(){\r
-return this.ss.last();\r
-});\r
-Clazz.defineMethod(c$,"subSet",\r
-function(a,b){\r
-return new java.util.Collections.UnmodifiableSortedSet(this.ss.subSet(a,b));\r
-},"~O,~O");\r
-Clazz.defineMethod(c$,"tailSet",\r
-function(a){\r
-return new java.util.Collections.UnmodifiableSortedSet(this.ss.tailSet(a));\r
-},"~O");\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.c=null;\r
-this.type=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"CheckedCollection",null,[java.util.Collection,java.io.Serializable]);\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-if(a==null||b==null){\r
-throw new NullPointerException();\r
-}this.c=a;\r
-this.type=b;\r
-},"java.util.Collection,Class");\r
-Clazz.defineMethod(c$,"size",\r
-function(){\r
-return this.c.size();\r
-});\r
-Clazz.defineMethod(c$,"isEmpty",\r
-function(){\r
-return this.c.isEmpty();\r
-});\r
-Clazz.defineMethod(c$,"contains",\r
-function(a){\r
-return this.c.contains(a);\r
-},"~O");\r
-Clazz.defineMethod(c$,"iterator",\r
-function(){\r
-var a=this.c.iterator();\r
-if(Clazz.instanceOf(a,java.util.ListIterator)){\r
-a=new java.util.Collections.CheckedListIterator(a,this.type);\r
-}return a;\r
-});\r
-Clazz.defineMethod(c$,"toArray",\r
-function(){\r
-return this.c.toArray();\r
-});\r
-Clazz.defineMethod(c$,"toArray",\r
-function(a){\r
-return this.c.toArray(a);\r
-},"~A");\r
-Clazz.defineMethod(c$,"add",\r
-function(a){\r
-return this.c.add(java.util.Collections.checkType(a,this.type));\r
-},"~O");\r
-Clazz.defineMethod(c$,"remove",\r
-function(a){\r
-return this.c.remove(a);\r
-},"~O");\r
-Clazz.defineMethod(c$,"containsAll",\r
-function(a){\r
-return this.c.containsAll(a);\r
-},"java.util.Collection");\r
-Clazz.overrideMethod(c$,"addAll",\r
-function(a){\r
-var b=a.size();\r
-if(b==0){\r
-return false;\r
-}var c=new Array(b);\r
-var d=a.iterator();\r
-for(var e=0;e<b;e++){\r
-c[e]=java.util.Collections.checkType(d.next(),this.type);\r
-}\r
-var f=false;\r
-for(var g=0;g<b;g++){\r
-f=new Boolean(f|this.c.add(c[g])).valueOf();\r
-}\r
-return f;\r
-},"java.util.Collection");\r
-Clazz.defineMethod(c$,"removeAll",\r
-function(a){\r
-return this.c.removeAll(a);\r
-},"java.util.Collection");\r
-Clazz.defineMethod(c$,"retainAll",\r
-function(a){\r
-return this.c.retainAll(a);\r
-},"java.util.Collection");\r
-Clazz.defineMethod(c$,"clear",\r
-function(){\r
-this.c.clear();\r
-});\r
-Clazz.defineMethod(c$,"toString",\r
-function(){\r
-return this.c.toString();\r
-});\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.i=null;\r
-this.type=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"CheckedListIterator",null,java.util.ListIterator);\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-this.i=a;\r
-this.type=b;\r
-},"java.util.ListIterator,Class");\r
-Clazz.defineMethod(c$,"hasNext",\r
-function(){\r
-return this.i.hasNext();\r
-});\r
-Clazz.defineMethod(c$,"next",\r
-function(){\r
-return this.i.next();\r
-});\r
-Clazz.defineMethod(c$,"remove",\r
-function(){\r
-this.i.remove();\r
-});\r
-Clazz.defineMethod(c$,"hasPrevious",\r
-function(){\r
-return this.i.hasPrevious();\r
-});\r
-Clazz.defineMethod(c$,"previous",\r
-function(){\r
-return this.i.previous();\r
-});\r
-Clazz.defineMethod(c$,"nextIndex",\r
-function(){\r
-return this.i.nextIndex();\r
-});\r
-Clazz.defineMethod(c$,"previousIndex",\r
-function(){\r
-return this.i.previousIndex();\r
-});\r
-Clazz.defineMethod(c$,"set",\r
-function(a){\r
-this.i.set(java.util.Collections.checkType(a,this.type));\r
-},"~O");\r
-Clazz.defineMethod(c$,"add",\r
-function(a){\r
-this.i.add(java.util.Collections.checkType(a,this.type));\r
-},"~O");\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.l=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"CheckedList",java.util.Collections.CheckedCollection,java.util.List);\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-Clazz.superConstructor(this,java.util.Collections.CheckedList,[a,b]);\r
-this.l=a;\r
-},"java.util.List,Class");\r
-Clazz.defineMethod(c$,"addAll",\r
-function(a,b){\r
-var c=b.size();\r
-if(c==0){\r
-return false;\r
-}var d=new Array(c);\r
-var e=b.iterator();\r
-for(var f=0;f<c;f++){\r
-d[f]=java.util.Collections.checkType(e.next(),this.type);\r
-}\r
-return this.l.addAll(a,java.util.Arrays.asList(d));\r
-},"~N,java.util.Collection");\r
-Clazz.defineMethod(c$,"get",\r
-function(a){\r
-return this.l.get(a);\r
-},"~N");\r
-Clazz.defineMethod(c$,"set",\r
-function(a,b){\r
-return this.l.set(a,java.util.Collections.checkType(b,this.type));\r
-},"~N,~O");\r
-Clazz.defineMethod(c$,"add",\r
-function(a,b){\r
-this.l.add(a,java.util.Collections.checkType(b,this.type));\r
-},"~N,~O");\r
-Clazz.defineMethod(c$,"remove",\r
-function(a){\r
-return this.l.remove(a);\r
-},"~N");\r
-Clazz.defineMethod(c$,"indexOf",\r
-function(a){\r
-return this.l.indexOf(a);\r
-},"~O");\r
-Clazz.defineMethod(c$,"lastIndexOf",\r
-function(a){\r
-return this.l.lastIndexOf(a);\r
-},"~O");\r
-//Clazz.defineMethod(c$,"listIterator",\r
-//function(){\r
-//return new java.util.Collections.CheckedListIterator(this.l.listIterator(),this.type);\r
-//});\r
-Clazz.defineMethod(c$,"listIterator",\r
-function(a){\r
-a || (a = 0);\r
-return new java.util.Collections.CheckedListIterator(this.l.listIterator(a),this.type);\r
-},"~N");\r
-Clazz.defineMethod(c$,"subList",\r
-function(a,b){\r
-return java.util.Collections.checkedList(this.l.subList(a,b),this.type);\r
-},"~N,~N");\r
-Clazz.overrideMethod(c$,"equals",\r
-function(a){\r
-return this.l.equals(a);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"hashcode",\r
-function(){\r
-return this.l.hashCode();\r
-});\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareType(java.util.Collections,"CheckedRandomAccessList",java.util.Collections.CheckedList,java.util.RandomAccess);\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareType(java.util.Collections,"CheckedSet",java.util.Collections.CheckedCollection,java.util.Set);\r
-Clazz.overrideMethod(c$,"equals",\r
-function(a){\r
-return this.c.equals(a);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"hashCode",\r
-function(){\r
-return this.c.hashCode();\r
-});\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.m=null;\r
-this.keyType=null;\r
-this.valueType=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"CheckedMap",null,[java.util.Map,java.io.Serializable]);\r
-Clazz.makeConstructor(c$,\r
-($fz=function(a,b,c){\r
-if(a==null||b==null||c==null){\r
-throw new NullPointerException();\r
-}this.m=a;\r
-this.keyType=b;\r
-this.valueType=c;\r
-},$fz.isPrivate=true,$fz),"java.util.Map,Class,Class");\r
-Clazz.defineMethod(c$,"size",\r
-function(){\r
-return this.m.size();\r
-});\r
-Clazz.defineMethod(c$,"isEmpty",\r
-function(){\r
-return this.m.isEmpty();\r
-});\r
-Clazz.defineMethod(c$,"containsKey",\r
-function(a){\r
-return this.m.containsKey(a);\r
-},"~O");\r
-Clazz.defineMethod(c$,"containsValue",\r
-function(a){\r
-return this.m.containsValue(a);\r
-},"~O");\r
-Clazz.defineMethod(c$,"get",\r
-function(a){\r
-return this.m.get(a);\r
-},"~O");\r
-Clazz.defineMethod(c$,"put",\r
-function(a,b){\r
-return this.m.put(java.util.Collections.checkType(a,this.keyType),java.util.Collections.checkType(b,this.valueType));\r
-},"~O,~O");\r
-Clazz.defineMethod(c$,"remove",\r
-function(a){\r
-return this.m.remove(a);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"putAll",\r
-function(a){\r
-var b=a.size();\r
-if(b==0){\r
-return;\r
-}var c=new Array(b);\r
-var d=a.entrySet().iterator();\r
-for(var e=0;e<b;e++){\r
-var f=d.next();\r
-java.util.Collections.checkType(f.getKey(),this.keyType);\r
-java.util.Collections.checkType(f.getValue(),this.valueType);\r
-c[e]=f;\r
-}\r
-for(var f=0;f<b;f++){\r
-this.m.put(c[f].getKey(),c[f].getValue());\r
-}\r
-},"java.util.Map");\r
-Clazz.defineMethod(c$,"clear",\r
-function(){\r
-this.m.clear();\r
-});\r
-Clazz.defineMethod(c$,"keySet",\r
-function(){\r
-return this.m.keySet();\r
-});\r
-Clazz.defineMethod(c$,"values",\r
-function(){\r
-return this.m.values();\r
-});\r
-Clazz.defineMethod(c$,"entrySet",\r
-function(){\r
-return new java.util.Collections.CheckedMap.CheckedEntrySet(this.m.entrySet(),this.valueType);\r
-});\r
-Clazz.overrideMethod(c$,"equals",\r
-function(a){\r
-return this.m.equals(a);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"hashcode",\r
-function(){\r
-return this.m.hashCode();\r
-});\r
-Clazz.defineMethod(c$,"toString",\r
-function(){\r
-return this.m.toString();\r
-});\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.e=null;\r
-this.valueType=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections.CheckedMap,"CheckedEntry",null,java.util.Map.Entry);\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-if(a==null){\r
-throw new NullPointerException();\r
-}this.e=a;\r
-this.valueType=b;\r
-},"java.util.Map.Entry,Class");\r
-Clazz.defineMethod(c$,"getKey",\r
-function(){\r
-return this.e.getKey();\r
-});\r
-Clazz.defineMethod(c$,"getValue",\r
-function(){\r
-return this.e.getValue();\r
-});\r
-Clazz.defineMethod(c$,"setValue",\r
-function(a){\r
-return this.e.setValue(java.util.Collections.checkType(a,this.valueType));\r
-},"~O");\r
-Clazz.overrideMethod(c$,"equals",\r
-function(a){\r
-return this.e.equals(a);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"hashcode",\r
-function(){\r
-return this.e.hashCode();\r
-});\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.s=null;\r
-this.valueType=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections.CheckedMap,"CheckedEntrySet",null,java.util.Set);\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-this.s=a;\r
-this.valueType=b;\r
-},"java.util.Set,Class");\r
-Clazz.defineMethod(c$,"iterator",\r
-function(){\r
-return new java.util.Collections.CheckedMap.CheckedEntrySet.CheckedEntryIterator(this.s.iterator(),this.valueType);\r
-});\r
-Clazz.defineMethod(c$,"toArray",\r
-function(){\r
-var a=this.size();\r
-var b=new Array(a);\r
-var c=this.iterator();\r
-for(var d=0;d<a;d++){\r
-b[d]=c.next();\r
-}\r
-return b;\r
-});\r
-Clazz.defineMethod(c$,"toArray",\r
-function(a){\r
-var b=this.size();\r
-if(a.length<b){\r
-var c=a.getClass().getComponentType();\r
-a=java.lang.reflect.Array.newInstance(c,b);\r
-}var c=this.iterator();\r
-for(var d=0;d<b;d++){\r
-a[d]=c.next();\r
-}\r
-if(b<a.length){\r
-a[b]=null;\r
-}return a;\r
-},"~A");\r
-Clazz.defineMethod(c$,"retainAll",\r
-function(a){\r
-return this.s.retainAll(a);\r
-},"java.util.Collection");\r
-Clazz.defineMethod(c$,"removeAll",\r
-function(a){\r
-return this.s.removeAll(a);\r
-},"java.util.Collection");\r
-Clazz.defineMethod(c$,"containsAll",\r
-function(a){\r
-return this.s.containsAll(a);\r
-},"java.util.Collection");\r
-Clazz.overrideMethod(c$,"addAll",\r
-function(a){\r
-throw new UnsupportedOperationException();\r
-},"java.util.Collection");\r
-Clazz.defineMethod(c$,"remove",\r
-function(a){\r
-return this.s.remove(a);\r
-},"~O");\r
-Clazz.defineMethod(c$,"contains",\r
-function(a){\r
-return this.s.contains(a);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"add",\r
-function(a){\r
-throw new UnsupportedOperationException();\r
-},"java.util.Map.Entry");\r
-Clazz.defineMethod(c$,"isEmpty",\r
-function(){\r
-return this.s.isEmpty();\r
-});\r
-Clazz.defineMethod(c$,"clear",\r
-function(){\r
-this.s.clear();\r
-});\r
-Clazz.defineMethod(c$,"size",\r
-function(){\r
-return this.s.size();\r
-});\r
-Clazz.overrideMethod(c$,"hashcode",\r
-function(){\r
-return this.s.hashCode();\r
-});\r
-Clazz.overrideMethod(c$,"equals",\r
-function(a){\r
-return this.s.equals(a);\r
-},"~O");\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.i=null;\r
-this.valueType=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections.CheckedMap.CheckedEntrySet,"CheckedEntryIterator",null,java.util.Iterator);\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-this.i=a;\r
-this.valueType=b;\r
-},"java.util.Iterator,Class");\r
-Clazz.defineMethod(c$,"hasNext",\r
-function(){\r
-return this.i.hasNext();\r
-});\r
-Clazz.defineMethod(c$,"remove",\r
-function(){\r
-this.i.remove();\r
-});\r
-Clazz.defineMethod(c$,"next",\r
-function(){\r
-return new java.util.Collections.CheckedMap.CheckedEntry(this.i.next(),this.valueType);\r
-});\r
-c$=Clazz.p0p();\r
-c$=Clazz.p0p();\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.ss=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"CheckedSortedSet",java.util.Collections.CheckedSet,java.util.SortedSet);\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-Clazz.superConstructor(this,java.util.Collections.CheckedSortedSet,[a,b]);\r
-this.ss=a;\r
-},"java.util.SortedSet,Class");\r
-Clazz.defineMethod(c$,"comparator",\r
-function(){\r
-return this.ss.comparator();\r
-});\r
-Clazz.defineMethod(c$,"subSet",\r
-function(a,b){\r
-return new java.util.Collections.CheckedSortedSet(this.ss.subSet(a,b),this.type);\r
-},"~O,~O");\r
-Clazz.defineMethod(c$,"headSet",\r
-function(a){\r
-return new java.util.Collections.CheckedSortedSet(this.ss.headSet(a),this.type);\r
-},"~O");\r
-Clazz.defineMethod(c$,"tailSet",\r
-function(a){\r
-return new java.util.Collections.CheckedSortedSet(this.ss.tailSet(a),this.type);\r
-},"~O");\r
-Clazz.defineMethod(c$,"first",\r
-function(){\r
-return this.ss.first();\r
-});\r
-Clazz.defineMethod(c$,"last",\r
-function(){\r
-return this.ss.last();\r
-});\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.sm=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Collections,"CheckedSortedMap",java.util.Collections.CheckedMap,java.util.SortedMap);\r
-Clazz.makeConstructor(c$,\r
-function(a,b,c){\r
-Clazz.superConstructor(this,java.util.Collections.CheckedSortedMap,[a,b,c]);\r
-this.sm=a;\r
-},"java.util.SortedMap,Class,Class");\r
-Clazz.defineMethod(c$,"comparator",\r
-function(){\r
-return this.sm.comparator();\r
-});\r
-Clazz.defineMethod(c$,"subMap",\r
-function(a,b){\r
-return new java.util.Collections.CheckedSortedMap(this.sm.subMap(a,b),this.keyType,this.valueType);\r
-},"~O,~O");\r
-Clazz.defineMethod(c$,"headMap",\r
-function(a){\r
-return new java.util.Collections.CheckedSortedMap(this.sm.headMap(a),this.keyType,this.valueType);\r
-},"~O");\r
-Clazz.defineMethod(c$,"tailMap",\r
-function(a){\r
-return new java.util.Collections.CheckedSortedMap(this.sm.tailMap(a),this.keyType,this.valueType);\r
-},"~O");\r
-Clazz.defineMethod(c$,"firstKey",\r
-function(){\r
-return this.sm.firstKey();\r
-});\r
-Clazz.defineMethod(c$,"lastKey",\r
-function(){\r
-return this.sm.lastKey();\r
-});\r
-c$=Clazz.p0p();\r
-c$.EMPTY_LIST=c$.prototype.EMPTY_LIST=new java.util.Collections.EmptyList();\r
-c$.EMPTY_SET=c$.prototype.EMPTY_SET=new java.util.Collections.EmptySet();\r
-c$.EMPTY_MAP=c$.prototype.EMPTY_MAP=new java.util.Collections.EmptyMap();\r
-});\r
+//BH note: a declared static superclass must come before a static class referencing it
+
+Clazz.load(["java.util.AbstractList","$.AbstractMap","$.AbstractSet","$.Collection","$.Iterator","$.List","$.ListIterator","$.Map","$.RandomAccess","$.Set","$.SortedMap","$.SortedSet","java.lang.NullPointerException","$.UnsupportedOperationException","java.lang.reflect.Array"],"java.util.Collections",["java.lang.ArrayIndexOutOfBoundsException","$.ClassCastException","$.IllegalArgumentException","$.IndexOutOfBoundsException","java.util.ArrayList","$.Arrays","$.Enumeration","java.util.Map.Entry","java.util.NoSuchElementException","$.Random"],function(){
+c$=Clazz.declareType(java.util,"Collections");
+c$.binarySearch=Clazz.defineMethod(c$,"binarySearch",
+function(list,object){
+if(list==null){
+throw new NullPointerException();
+}if(list.isEmpty()){
+return-1;
+}var key=object;
+if(!(Clazz.instanceOf(list,java.util.RandomAccess))){
+var it=list.listIterator();
+while(it.hasNext()){
+var result;
+if((result=key.compareTo(it.next()))<=0){
+if(result==0){
+return it.previousIndex();
+}return-it.previousIndex()-1;
+}}
+return-list.size()-1;
+}var low=0;
+var mid=list.size();
+var high=mid-1;
+var result=-1;
+while(low<=high){
+mid=(low+high)>>1;
+if((result=key.compareTo(list.get(mid)))>0){
+low=mid+1;
+}else if(result==0){
+return mid;
+}else{
+high=mid-1;
+}}
+return-mid-(result<0?1:2);
+},"java.util.List,~O");
+c$.binarySearch=Clazz.defineMethod(c$,"binarySearch",
+function(list,object,comparator){
+if(comparator==null){
+return java.util.Collections.binarySearch(list,object);
+}if(!(Clazz.instanceOf(list,java.util.RandomAccess))){
+var it=list.listIterator();
+while(it.hasNext()){
+var result;
+if((result=comparator.compare(object,it.next()))<=0){
+if(result==0){
+return it.previousIndex();
+}return-it.previousIndex()-1;
+}}
+return-list.size()-1;
+}var low=0;
+var mid=list.size();
+var high=mid-1;
+var result=-1;
+while(low<=high){
+mid=(low+high)>>1;
+if((result=comparator.compare(object,list.get(mid)))>0){
+low=mid+1;
+}else if(result==0){
+return mid;
+}else{
+high=mid-1;
+}}
+return-mid-(result<0?1:2);
+},"java.util.List,~O,java.util.Comparator");
+c$.copy=Clazz.defineMethod(c$,"copy",
+function(destination,source){
+if(destination.size()<source.size()){
+throw new ArrayIndexOutOfBoundsException();
+}var srcIt=source.iterator();
+var destIt=destination.listIterator();
+while(srcIt.hasNext()){
+try{
+destIt.next();
+}catch(e){
+if(Clazz.instanceOf(e,java.util.NoSuchElementException)){
+throw new ArrayIndexOutOfBoundsException();
+}else{
+throw e;
+}
+}
+destIt.set(srcIt.next());
+}
+},"java.util.List,java.util.List");
+c$.enumeration=Clazz.defineMethod(c$,"enumeration",
+function(collection){
+var c=collection;
+
+if (!Clazz.isClassDefined("java.util.Collections$1"))
+       java.util.Collections.$Collections$1$(c);
+
+var x = Clazz.innerTypeInstance(java.util.Collections$1,this,null);
+
+return x;
+},"java.util.Collection");
+
+c$.fill=Clazz.defineMethod(c$,"fill",
+function(list,object){
+var it=list.listIterator();
+while(it.hasNext()){
+it.next();
+it.set(object);
+}
+},"java.util.List,~O");
+c$.max=Clazz.defineMethod(c$,"max",
+function(collection){
+var it=collection.iterator();
+var max=it.next();
+while(it.hasNext()){
+var next=it.next();
+if(max.compareTo(next)<0){
+max=next;
+}}
+return max;
+},"java.util.Collection");
+c$.max=Clazz.defineMethod(c$,"max",
+function(collection,comparator){
+var it=collection.iterator();
+var max=it.next();
+while(it.hasNext()){
+var next=it.next();
+if(comparator.compare(max,next)<0){
+max=next;
+}}
+return max;
+},"java.util.Collection,java.util.Comparator");
+c$.min=Clazz.defineMethod(c$,"min",
+function(collection){
+var it=collection.iterator();
+var min=it.next();
+while(it.hasNext()){
+var next=it.next();
+if(min.compareTo(next)>0){
+min=next;
+}}
+return min;
+},"java.util.Collection");
+c$.min=Clazz.defineMethod(c$,"min",
+function(collection,comparator){
+var it=collection.iterator();
+var min=it.next();
+while(it.hasNext()){
+var next=it.next();
+if(comparator.compare(min,next)>0){
+min=next;
+}}
+return min;
+},"java.util.Collection,java.util.Comparator");
+c$.nCopies=Clazz.defineMethod(c$,"nCopies",
+function(length,object){
+return new java.util.Collections.CopiesList(length,object);
+},"~N,~O");
+c$.reverse=Clazz.defineMethod(c$,"reverse",
+function(list){
+var size=list.size();
+var front=list.listIterator();
+var back=list.listIterator(size);
+for(var i=0;i<Math.floor(size/2);i++){
+var frontNext=front.next();
+var backPrev=back.previous();
+front.set(backPrev);
+back.set(frontNext);
+}
+},"java.util.List");
+c$.reverseOrder=Clazz.defineMethod(c$,"reverseOrder",
+function(){
+return new java.util.Collections.ReverseComparator();
+});
+c$.reverseOrder=Clazz.defineMethod(c$,"reverseOrder",
+function(c){
+if(c==null){
+return java.util.Collections.reverseOrder();
+}return new java.util.Collections.ReverseComparatorWithComparator(c);
+},"java.util.Comparator");
+c$.shuffle=Clazz.defineMethod(c$,"shuffle",
+function(list){
+java.util.Collections.shuffle(list,new java.util.Random());
+},"java.util.List");
+c$.shuffle=Clazz.defineMethod(c$,"shuffle",
+function(list,random){
+if(!(Clazz.instanceOf(list,java.util.RandomAccess))){
+var array=list.toArray();
+for(var i=array.length-1;i>0;i--){
+var index=random.nextInt()%(i+1);
+if(index<0){
+index=-index;
+}var temp=array[i];
+array[i]=array[index];
+array[index]=temp;
+}
+var i=0;
+var it=list.listIterator();
+while(it.hasNext()){
+it.next();
+it.set(array[i++]);
+}
+}else{
+var rawList=list;
+for(var i=rawList.size()-1;i>0;i--){
+var index=random.nextInt()%(i+1);
+if(index<0){
+index=-index;
+}rawList.set(index,rawList.set(i,rawList.get(index)));
+}
+}},"java.util.List,java.util.Random");
+c$.singleton=Clazz.defineMethod(c$,"singleton",
+function(object){
+return new java.util.Collections.SingletonSet(object);
+},"~O");
+c$.singletonList=Clazz.defineMethod(c$,"singletonList",
+function(object){
+return new java.util.Collections.SingletonList(object);
+},"~O");
+c$.singletonMap=Clazz.defineMethod(c$,"singletonMap",
+function(key,value){
+return new java.util.Collections.SingletonMap(key,value);
+},"~O,~O");
+c$.sort=Clazz.defineMethod(c$,"sort",
+function(list){
+var array=list.toArray();
+java.util.Arrays.sort(array);
+var i=0;
+var it=list.listIterator();
+while(it.hasNext()){
+it.next();
+it.set(array[i++]);
+}
+},"java.util.List");
+c$.sort=Clazz.defineMethod(c$,"sort",
+function(list,comparator){
+var array=list.toArray(new Array(list.size()));
+java.util.Arrays.sort(array,comparator);
+var i=0;
+var it=list.listIterator();
+while(it.hasNext()){
+it.next();
+it.set(array[i++]);
+}
+},"java.util.List,java.util.Comparator");
+c$.swap=Clazz.defineMethod(c$,"swap",
+function(list,index1,index2){
+if(list==null){
+throw new NullPointerException();
+}if(index1==index2){
+return;
+}var rawList=list;
+rawList.set(index2,rawList.set(index1,rawList.get(index2)));
+},"java.util.List,~N,~N");
+c$.replaceAll=Clazz.defineMethod(c$,"replaceAll",
+function(list,obj,obj2){
+var index;
+var found=false;
+while((index=list.indexOf(obj))>-1){
+found=true;
+list.set(index,obj2);
+}
+return found;
+},"java.util.List,~O,~O");
+c$.rotate=Clazz.defineMethod(c$,"rotate",
+function(lst,dist){
+var list=lst;
+var size=list.size();
+if(size==0){
+return;
+}var normdist;
+if(dist>0){
+normdist=dist%size;
+}else{
+normdist=size-((dist%size)*(-1));
+}if(normdist==0||normdist==size){
+return;
+}if(Clazz.instanceOf(list,java.util.RandomAccess)){
+var temp=list.get(0);
+var index=0;
+var beginIndex=0;
+for(var i=0;i<size;i++){
+index=(index+normdist)%size;
+temp=list.set(index,temp);
+if(index==beginIndex){
+index=++beginIndex;
+temp=list.get(beginIndex);
+}}
+}else{
+var divideIndex=(size-normdist)%size;
+var sublist1=list.subList(0,divideIndex);
+var sublist2=list.subList(divideIndex,size);
+java.util.Collections.reverse(sublist1);
+java.util.Collections.reverse(sublist2);
+java.util.Collections.reverse(list);
+}},"java.util.List,~N");
+c$.indexOfSubList=Clazz.defineMethod(c$,"indexOfSubList",
+function(list,sublist){
+var size=list.size();
+var sublistSize=sublist.size();
+if(sublistSize>size){
+return-1;
+}if(sublistSize==0){
+return 0;
+}var firstObj=sublist.get(0);
+var index=list.indexOf(firstObj);
+if(index==-1){
+return-1;
+}while(index<size&&(size-index>=sublistSize)){
+var listIt=list.listIterator(index);
+if((firstObj==null)?listIt.next()==null:firstObj.equals(listIt.next())){
+var sublistIt=sublist.listIterator(1);
+var difFound=false;
+while(sublistIt.hasNext()){
+var element=sublistIt.next();
+if(!listIt.hasNext()){
+return-1;
+}if((element==null)?listIt.next()!=null:!element.equals(listIt.next())){
+difFound=true;
+break;
+}}
+if(!difFound){
+return index;
+}}index++;
+}
+return-1;
+},"java.util.List,java.util.List");
+c$.lastIndexOfSubList=Clazz.defineMethod(c$,"lastIndexOfSubList",
+function(list,sublist){
+var sublistSize=sublist.size();
+var size=list.size();
+if(sublistSize>size){
+return-1;
+}if(sublistSize==0){
+return size;
+}var lastObj=sublist.get(sublistSize-1);
+var index=list.lastIndexOf(lastObj);
+while((index>-1)&&(index+1>=sublistSize)){
+var listIt=list.listIterator(index+1);
+if((lastObj==null)?listIt.previous()==null:lastObj.equals(listIt.previous())){
+var sublistIt=sublist.listIterator(sublistSize-1);
+var difFound=false;
+while(sublistIt.hasPrevious()){
+var element=sublistIt.previous();
+if(!listIt.hasPrevious()){
+return-1;
+}if((element==null)?listIt.previous()!=null:!element.equals(listIt.previous())){
+difFound=true;
+break;
+}}
+if(!difFound){
+return listIt.nextIndex();
+}}index--;
+}
+return-1;
+},"java.util.List,java.util.List");
+c$.list=Clazz.defineMethod(c$,"list",
+function(enumeration){
+var list=new java.util.ArrayList();
+while(enumeration.hasMoreElements()){
+list.add(enumeration.nextElement());
+}
+return list;
+},"java.util.Enumeration");
+c$.synchronizedCollection=Clazz.defineMethod(c$,"synchronizedCollection",
+function(collection){
+if(collection==null){
+throw new NullPointerException();
+}return new java.util.Collections.SynchronizedCollection(collection);
+},"java.util.Collection");
+c$.synchronizedList=Clazz.defineMethod(c$,"synchronizedList",
+function(list){
+if(list==null){
+throw new NullPointerException();
+}if(Clazz.instanceOf(list,java.util.RandomAccess)){
+return new java.util.Collections.SynchronizedRandomAccessList(list);
+}return new java.util.Collections.SynchronizedList(list);
+},"java.util.List");
+c$.synchronizedMap=Clazz.defineMethod(c$,"synchronizedMap",
+function(map){
+if(map==null){
+throw new NullPointerException();
+}return new java.util.Collections.SynchronizedMap(map);
+},"java.util.Map");
+c$.synchronizedSet=Clazz.defineMethod(c$,"synchronizedSet",
+function(set){
+if(set==null){
+throw new NullPointerException();
+}return new java.util.Collections.SynchronizedSet(set);
+},"java.util.Set");
+c$.synchronizedSortedMap=Clazz.defineMethod(c$,"synchronizedSortedMap",
+function(map){
+if(map==null){
+throw new NullPointerException();
+}return new java.util.Collections.SynchronizedSortedMap(map);
+},"java.util.SortedMap");
+c$.synchronizedSortedSet=Clazz.defineMethod(c$,"synchronizedSortedSet",
+function(set){
+if(set==null){
+throw new NullPointerException();
+}return new java.util.Collections.SynchronizedSortedSet(set);
+},"java.util.SortedSet");
+c$.unmodifiableCollection=Clazz.defineMethod(c$,"unmodifiableCollection",
+function(collection){
+if(collection==null){
+throw new NullPointerException();
+}return new java.util.Collections.UnmodifiableCollection(collection);
+},"java.util.Collection");
+c$.unmodifiableList=Clazz.defineMethod(c$,"unmodifiableList",
+function(list){
+if(list==null){
+throw new NullPointerException();
+}if(Clazz.instanceOf(list,java.util.RandomAccess)){
+return new java.util.Collections.UnmodifiableRandomAccessList(list);
+}return new java.util.Collections.UnmodifiableList(list);
+},"java.util.List");
+c$.unmodifiableMap=Clazz.defineMethod(c$,"unmodifiableMap",
+function(map){
+if(map==null){
+throw new NullPointerException();
+}return new java.util.Collections.UnmodifiableMap(map);
+},"java.util.Map");
+c$.unmodifiableSet=Clazz.defineMethod(c$,"unmodifiableSet",
+function(set){
+if(set==null){
+throw new NullPointerException();
+}return new java.util.Collections.UnmodifiableSet(set);
+},"java.util.Set");
+c$.unmodifiableSortedMap=Clazz.defineMethod(c$,"unmodifiableSortedMap",
+function(map){
+if(map==null){
+throw new NullPointerException();
+}return new java.util.Collections.UnmodifiableSortedMap(map);
+},"java.util.SortedMap");
+c$.unmodifiableSortedSet=Clazz.defineMethod(c$,"unmodifiableSortedSet",
+function(set){
+if(set==null){
+throw new NullPointerException();
+}return new java.util.Collections.UnmodifiableSortedSet(set);
+},"java.util.SortedSet");
+c$.frequency=Clazz.defineMethod(c$,"frequency",
+function(c,o){
+if(c==null){
+throw new NullPointerException();
+}if(c.isEmpty()){
+return 0;
+}
+var result=0;
+var itr=c.iterator();
+while(itr.hasNext()){
+var e=itr.next();
+if(o==null?e==null:o.equals(e)){
+result++;
+}}
+return result;
+},"java.util.Collection,~O");
+
+c$.emptyList=Clazz.defineMethod(c$,"emptyList",
+function(){
+return java.util.Collections.EMPTY_LIST;
+});
+c$.emptySet=Clazz.defineMethod(c$,"emptySet",
+function(){
+return java.util.Collections.EMPTY_SET;
+});
+c$.emptyMap=Clazz.defineMethod(c$,"emptyMap",
+function(){
+return java.util.Collections.EMPTY_MAP;
+});
+c$.checkedCollection=Clazz.defineMethod(c$,"checkedCollection",
+function(c,type){
+return new java.util.Collections.CheckedCollection(c,type);
+},"java.util.Collection,Class");
+c$.checkedMap=Clazz.defineMethod(c$,"checkedMap",
+function(m,keyType,valueType){
+return new java.util.Collections.CheckedMap(m,keyType,valueType);
+},"java.util.Map,Class,Class");
+c$.checkedList=Clazz.defineMethod(c$,"checkedList",
+function(list,type){
+if(Clazz.instanceOf(list,java.util.RandomAccess)){
+return new java.util.Collections.CheckedRandomAccessList(list,type);
+}return new java.util.Collections.CheckedList(list,type);
+},"java.util.List,Class");
+c$.checkedSet=Clazz.defineMethod(c$,"checkedSet",
+function(s,type){
+return new java.util.Collections.CheckedSet(s,type);
+},"java.util.Set,Class");
+c$.checkedSortedMap=Clazz.defineMethod(c$,"checkedSortedMap",
+function(m,keyType,valueType){
+return new java.util.Collections.CheckedSortedMap(m,keyType,valueType);
+},"java.util.SortedMap,Class,Class");
+c$.checkedSortedSet=Clazz.defineMethod(c$,"checkedSortedSet",
+function(s,type){
+return new java.util.Collections.CheckedSortedSet(s,type);
+},"java.util.SortedSet,Class");
+c$.addAll=Clazz.defineMethod(c$,"addAll",
+function(c,a){
+var modified=false;
+for(var i=0;i<a.length;i++){
+modified=new Boolean(modified|c.add(a[i])).valueOf();
+}
+return modified;
+},"java.util.Collection,~A");
+c$.disjoint=Clazz.defineMethod(c$,"disjoint",
+function(c1,c2){
+if((Clazz.instanceOf(c1,java.util.Set))&&!(Clazz.instanceOf(c2,java.util.Set))||(c2.size())>c1.size()){
+var tmp=c1;
+c1=c2;
+c2=tmp;
+}var it=c1.iterator();
+while(it.hasNext()){
+if(c2.contains(it.next())){
+return false;
+}}
+return true;
+},"java.util.Collection,java.util.Collection");
+c$.checkType=Clazz.defineMethod(c$,"checkType",
+function(obj,type){
+if(!type.isInstance(obj)){
+throw new ClassCastException("Attempt to insert "+obj.getClass()+" element into collection with element type "+type);
+}return obj;
+},"~O,Class");
+
+c$.$Collections$1$=function(c){
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+Clazz.prepareCallback(this,arguments);
+this.it=null;
+Clazz.instantialize(this,arguments);
+},java.util,"Collections$1",null,java.util.Enumeration);
+
+Clazz.prepareFields(c$,function(){
+this.it=c.iterator();
+});
+
+Clazz.defineMethod(c$,"hasMoreElements",
+function(){
+return this.it.hasNext();
+});
+Clazz.defineMethod(c$,"nextElement",
+function(){
+return this.it.next();
+});
+c$=Clazz.p0p();
+};
+
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.n=0;
+this.element=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"CopiesList",java.util.AbstractList,java.io.Serializable);
+Clazz.makeConstructor(c$,
+function(a,b){
+Clazz.superConstructor(this,java.util.Collections.CopiesList,[]);
+if(a<0){
+throw new IllegalArgumentException();
+}this.n=a;
+this.element=b;
+},"~N,~O");
+Clazz.overrideMethod(c$,"contains",
+function(a){
+return this.element==null?a==null:this.element.equals(a);
+},"~O");
+Clazz.overrideMethod(c$,"size",
+function(){
+return this.n;
+});
+Clazz.overrideMethod(c$,"get",
+function(a){
+if(0<=a&&a<this.n){
+return this.element;
+}throw new IndexOutOfBoundsException();
+},"~N");
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.declareType(java.util.Collections,"EmptyList",java.util.AbstractList,java.io.Serializable);
+Clazz.overrideMethod(c$,"contains",
+function(a){
+return false;
+},"~O");
+Clazz.overrideMethod(c$,"size",
+function(){
+return 0;
+});
+Clazz.overrideMethod(c$,"get",
+function(a){
+throw new IndexOutOfBoundsException();
+},"~N");
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.declareType(java.util.Collections,"EmptySet",java.util.AbstractSet,java.io.Serializable);
+Clazz.overrideMethod(c$,"contains",
+function(a){
+return false;
+},"~O");
+Clazz.overrideMethod(c$,"size",
+function(){
+return 0;
+});
+Clazz.overrideMethod(c$,"iterator",
+function(){
+return((Clazz.isClassDefined("java.util.Collections$EmptySet$1")?0:java.util.Collections.EmptySet.$Collections$EmptySet$1$()),Clazz.innerTypeInstance(java.util.Collections$EmptySet$1,this,null));
+});
+c$.$Collections$EmptySet$1$=function(){
+Clazz.pu$h(self.c$);
+c$=Clazz.declareAnonymous(java.util,"Collections$EmptySet$1",null,java.util.Iterator);
+Clazz.overrideMethod(c$,"hasNext",
+function(){
+return false;
+});
+Clazz.overrideMethod(c$,"next",
+function(){
+throw new java.util.NoSuchElementException();
+});
+Clazz.overrideMethod(c$,"remove",
+function(){
+throw new UnsupportedOperationException();
+});
+c$=Clazz.p0p();
+};
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.declareType(java.util.Collections,"EmptyMap",java.util.AbstractMap,java.io.Serializable);
+Clazz.overrideMethod(c$,"containsKey",
+function(a){
+return false;
+},"~O");
+Clazz.overrideMethod(c$,"containsValue",
+function(a){
+return false;
+},"~O");
+Clazz.overrideMethod(c$,"entrySet",
+function(){
+return java.util.Collections.EMPTY_SET;
+});
+Clazz.overrideMethod(c$,"get",
+function(a){
+return null;
+},"~O");
+Clazz.overrideMethod(c$,"keySet",
+function(){
+return java.util.Collections.EMPTY_SET;
+});
+Clazz.overrideMethod(c$,"values",
+function(){
+return java.util.Collections.EMPTY_LIST;
+});
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.declareType(java.util.Collections,"ReverseComparator",null,[java.util.Comparator,java.io.Serializable]);
+Clazz.overrideMethod(c$,"compare",
+function(a,b){
+var c=b;
+return c.compareTo(a);
+},"~O,~O");
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.comparator=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"ReverseComparatorWithComparator",null,[java.util.Comparator,java.io.Serializable]);
+Clazz.makeConstructor(c$,
+function(a){
+this.comparator=a;
+},"java.util.Comparator");
+Clazz.defineMethod(c$,"compare",
+function(a,b){
+return this.comparator.compare(b,a);
+},"~O,~O");
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.element=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"SingletonSet",java.util.AbstractSet,java.io.Serializable);
+Clazz.makeConstructor(c$,
+function(a){
+Clazz.superConstructor(this,java.util.Collections.SingletonSet,[]);
+this.element=a;
+},"~O");
+Clazz.overrideMethod(c$,"contains",
+function(a){
+return this.element==null?a==null:this.element.equals(a);
+},"~O");
+Clazz.overrideMethod(c$,"size",
+function(){
+return 1;
+});
+Clazz.overrideMethod(c$,"iterator",
+function(){
+return((Clazz.isClassDefined("java.util.Collections$SingletonSet$1")?0:java.util.Collections.SingletonSet.$Collections$SingletonSet$1$()),Clazz.innerTypeInstance(java.util.Collections$SingletonSet$1,this,null));
+});
+c$.$Collections$SingletonSet$1$=function(){
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+Clazz.prepareCallback(this,arguments);
+this.$hasNext=true;
+Clazz.instantialize(this,arguments);
+},java.util,"Collections$SingletonSet$1",null,java.util.Iterator);
+Clazz.overrideMethod(c$,"hasNext",
+function(){
+return this.$hasNext;
+});
+Clazz.overrideMethod(c$,"next",
+function(){
+if(this.$hasNext){
+this.$hasNext=false;
+return this.b$["java.util.Collections.SingletonSet"].element;
+}throw new java.util.NoSuchElementException();
+});
+Clazz.overrideMethod(c$,"remove",
+function(){
+throw new UnsupportedOperationException();
+});
+c$=Clazz.p0p();
+};
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.element=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"SingletonList",java.util.AbstractList,java.io.Serializable);
+Clazz.makeConstructor(c$,
+function(a){
+Clazz.superConstructor(this,java.util.Collections.SingletonList,[]);
+this.element=a;
+},"~O");
+Clazz.overrideMethod(c$,"contains",
+function(a){
+return this.element==null?a==null:this.element.equals(a);
+},"~O");
+Clazz.overrideMethod(c$,"get",
+function(a){
+if(a==0){
+return this.element;
+}throw new IndexOutOfBoundsException();
+},"~N");
+Clazz.overrideMethod(c$,"size",
+function(){
+return 1;
+});
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.k=null;
+this.v=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"SingletonMap",java.util.AbstractMap,java.io.Serializable);
+Clazz.makeConstructor(c$,
+function(a,b){
+Clazz.superConstructor(this,java.util.Collections.SingletonMap,[]);
+this.k=a;
+this.v=b;
+},"~O,~O");
+Clazz.overrideMethod(c$,"containsKey",
+function(a){
+return this.k==null?a==null:this.k.equals(a);
+},"~O");
+Clazz.overrideMethod(c$,"containsValue",
+function(a){
+return this.v==null?a==null:this.v.equals(a);
+},"~O");
+Clazz.overrideMethod(c$,"get",
+function(a){
+if(this.containsKey(a)){
+return this.v;
+}return null;
+},"~O");
+Clazz.overrideMethod(c$,"size",
+function(){
+return 1;
+});
+Clazz.overrideMethod(c$,"entrySet",
+function(){
+return((Clazz.isClassDefined("java.util.Collections$SingletonMap$1")?0:java.util.Collections.SingletonMap.$Collections$SingletonMap$1$()),Clazz.innerTypeInstance(java.util.Collections$SingletonMap$1,this,null));
+});
+c$.$Collections$SingletonMap$1$=function(){
+Clazz.pu$h(self.c$);
+c$=Clazz.declareAnonymous(java.util,"Collections$SingletonMap$1",java.util.AbstractSet);
+Clazz.overrideMethod(c$,"contains",
+function(a){
+if(Clazz.instanceOf(a,java.util.Map.Entry)){
+var b=a;
+return this.b$["java.util.Collections.SingletonMap"].containsKey(b.getKey())&&this.b$["java.util.Collections.SingletonMap"].containsValue(b.getValue());
+}return false;
+},"~O");
+Clazz.overrideMethod(c$,"size",
+function(){
+return 1;
+});
+Clazz.overrideMethod(c$,"iterator",
+function(){
+return((Clazz.isClassDefined("java.util.Collections$SingletonMap$1$1")?0:java.util.Collections.$Collections$SingletonMap$1$1$()),Clazz.innerTypeInstance(java.util.Collections$SingletonMap$1$1,this,null));
+});
+c$=Clazz.p0p();
+};
+c$.$Collections$SingletonMap$1$1$=function(){
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+Clazz.prepareCallback(this,arguments);
+this.$hasNext=true;
+Clazz.instantialize(this,arguments);
+},java.util,"Collections$SingletonMap$1$1",null,java.util.Iterator);
+Clazz.overrideMethod(c$,"hasNext",
+function(){
+return this.$hasNext;
+});
+Clazz.overrideMethod(c$,"next",
+function(){
+if(this.$hasNext){
+this.$hasNext=false;
+return((Clazz.isClassDefined("java.util.Collections$SingletonMap$1$1$1")?0:java.util.Collections.$Collections$SingletonMap$1$1$1$()),Clazz.innerTypeInstance(java.util.Collections$SingletonMap$1$1$1,this,null));
+}throw new java.util.NoSuchElementException();
+});
+Clazz.overrideMethod(c$,"remove",
+function(){
+throw new UnsupportedOperationException();
+});
+c$=Clazz.p0p();
+};
+c$.$Collections$SingletonMap$1$1$1$=function(){
+Clazz.pu$h(self.c$);
+c$=Clazz.declareAnonymous(java.util,"Collections$SingletonMap$1$1$1",null,java.util.Map.Entry);
+Clazz.overrideMethod(c$,"equals",
+function(a){
+return this.b$["java.util.Collections$SingletonMap$1"].contains(a);
+},"~O");
+Clazz.overrideMethod(c$,"getKey",
+function(){
+return this.b$["java.util.Collections.SingletonMap"].k;
+});
+Clazz.overrideMethod(c$,"getValue",
+function(){
+return this.b$["java.util.Collections.SingletonMap"].v;
+});
+Clazz.overrideMethod(c$,"hashCode",
+function(){
+return(this.b$["java.util.Collections.SingletonMap"].k==null?0:this.b$["java.util.Collections.SingletonMap"].k.hashCode())^(this.b$["java.util.Collections.SingletonMap"].v==null?0:this.b$["java.util.Collections.SingletonMap"].v.hashCode());
+});
+Clazz.overrideMethod(c$,"setValue",
+function(a){
+throw new UnsupportedOperationException();
+},"~O");
+c$=Clazz.p0p();
+};
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.c=null;
+this.mutex=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"SynchronizedCollection",null,[java.util.Collection,java.io.Serializable]);
+Clazz.makeConstructor(c$,
+function(a){
+this.c=a;
+this.mutex=this;
+},"java.util.Collection");
+Clazz.makeConstructor(c$,
+function(a,b){
+this.c=a;
+this.mutex=b;
+},"java.util.Collection,~O");
+Clazz.defineMethod(c$,"add",
+function(a){
+{
+return this.c.add(a);
+}},"~O");
+Clazz.defineMethod(c$,"addAll",
+function(a){
+{
+return this.c.addAll(a);
+}},"java.util.Collection");
+Clazz.defineMethod(c$,"clear",
+function(){
+{
+this.c.clear();
+}});
+Clazz.defineMethod(c$,"contains",
+function(a){
+{
+return this.c.contains(a);
+}},"~O");
+Clazz.defineMethod(c$,"containsAll",
+function(a){
+{
+return this.c.containsAll(a);
+}},"java.util.Collection");
+Clazz.defineMethod(c$,"isEmpty",
+function(){
+{
+return this.c.isEmpty();
+}});
+Clazz.defineMethod(c$,"iterator",
+function(){
+{
+return this.c.iterator();
+}});
+Clazz.defineMethod(c$,"remove",
+function(a){
+{
+return this.c.remove(a);
+}},"~O");
+Clazz.defineMethod(c$,"removeAll",
+function(a){
+{
+return this.c.removeAll(a);
+}},"java.util.Collection");
+Clazz.defineMethod(c$,"retainAll",
+function(a){
+{
+return this.c.retainAll(a);
+}},"java.util.Collection");
+Clazz.defineMethod(c$,"size",
+function(){
+{
+return this.c.size();
+}});
+Clazz.defineMethod(c$,"toArray",
+function(){
+{
+return this.c.toArray();
+}});
+Clazz.defineMethod(c$,"toString",
+function(){
+{
+return this.c.toString();
+}});
+Clazz.defineMethod(c$,"toArray",
+function(a){
+{
+return this.c.toArray(a);
+}},"~A");
+c$=Clazz.p0p();
+
+
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.list=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"SynchronizedList",java.util.Collections.SynchronizedCollection,java.util.List);
+Clazz.makeConstructor(c$,
+function(a){
+Clazz.superConstructor(this,java.util.Collections.SynchronizedList,[a]);
+this.list=a;
+},"java.util.List");
+Clazz.makeConstructor(c$,
+function(a,b){
+Clazz.superConstructor(this,java.util.Collections.SynchronizedList,[a,b]);
+this.list=a;
+},"java.util.List,~O");
+Clazz.defineMethod(c$,"add",
+function(a,b){
+{
+this.list.add(a,b);
+}},"~N,~O");
+Clazz.defineMethod(c$,"addAll",
+function(a,b){
+{
+return this.list.addAll(a,b);
+}},"~N,java.util.Collection");
+Clazz.overrideMethod(c$,"equals",
+function(a){
+{
+return this.list.equals(a);
+}},"~O");
+Clazz.defineMethod(c$,"get",
+function(a){
+{
+return this.list.get(a);
+}},"~N");
+Clazz.overrideMethod(c$,"hashCode",
+function(){
+{
+return this.list.hashCode();
+}});
+Clazz.defineMethod(c$,"indexOf",
+function(a){
+{
+return this.list.indexOf(a);
+}},"~O");
+Clazz.defineMethod(c$,"lastIndexOf",
+function(a){
+{
+return this.list.lastIndexOf(a);
+}},"~O");
+//Clazz.defineMethod(c$,"listIterator",
+//function(){
+//{
+//return this.list.listIterator();
+//}});
+Clazz.defineMethod(c$,"listIterator",
+function(a){
+{
+a || (a = 0);
+return this.list.listIterator(a);
+}},"~N");
+Clazz.defineMethod(c$,"remove",
+function(a){
+{
+return this.list.remove(a);
+}},"~N");
+Clazz.defineMethod(c$,"set",
+function(a,b){
+{
+return this.list.set(a,b);
+}},"~N,~O");
+Clazz.defineMethod(c$,"subList",
+function(a,b){
+{
+return new java.util.Collections.SynchronizedList(this.list.subList(a,b),this.mutex);
+}},"~N,~N");
+c$=Clazz.p0p();
+
+
+
+Clazz.pu$h(self.c$);
+c$=Clazz.declareType(java.util.Collections,"SynchronizedRandomAccessList",java.util.Collections.SynchronizedList,java.util.RandomAccess);
+Clazz.overrideMethod(c$,"subList",
+function(a,b){
+{
+return new java.util.Collections.SynchronizedRandomAccessList(this.list.subList(a,b),this.mutex);
+}},"~N,~N");
+c$=Clazz.p0p();
+
+
+
+
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.m=null;
+this.mutex=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"SynchronizedMap",null,[java.util.Map,java.io.Serializable]);
+Clazz.makeConstructor(c$,
+function(a){
+this.m=a;
+this.mutex=this;
+},"java.util.Map");
+Clazz.makeConstructor(c$,
+function(a,b){
+this.m=a;
+this.mutex=b;
+},"java.util.Map,~O");
+Clazz.defineMethod(c$,"clear",
+function(){
+{
+this.m.clear();
+}});
+Clazz.defineMethod(c$,"containsKey",
+function(a){
+{
+return this.m.containsKey(a);
+}},"~O");
+Clazz.defineMethod(c$,"containsValue",
+function(a){
+{
+return this.m.containsValue(a);
+}},"~O");
+Clazz.defineMethod(c$,"entrySet",
+function(){
+{
+return new java.util.Collections.SynchronizedSet(this.m.entrySet(),this.mutex);
+}});
+Clazz.overrideMethod(c$,"equals",
+function(a){
+{
+return this.m.equals(a);
+}},"~O");
+Clazz.defineMethod(c$,"get",
+function(a){
+{
+return this.m.get(a);
+}},"~O");
+Clazz.overrideMethod(c$,"hashCode",
+function(){
+{
+return this.m.hashCode();
+}});
+Clazz.defineMethod(c$,"isEmpty",
+function(){
+{
+return this.m.isEmpty();
+}});
+Clazz.defineMethod(c$,"keySet",
+function(){
+{
+return new java.util.Collections.SynchronizedSet(this.m.keySet(),this.mutex);
+}});
+Clazz.defineMethod(c$,"put",
+function(a,b){
+{
+return this.m.put(a,b);
+}},"~O,~O");
+Clazz.defineMethod(c$,"putAll",
+function(a){
+{
+this.m.putAll(a);
+}},"java.util.Map");
+Clazz.defineMethod(c$,"remove",
+function(a){
+{
+return this.m.remove(a);
+}},"~O");
+Clazz.defineMethod(c$,"size",
+function(){
+{
+return this.m.size();
+}});
+Clazz.defineMethod(c$,"values",
+function(){
+{
+return new java.util.Collections.SynchronizedCollection(this.m.values(),this.mutex);
+}});
+Clazz.defineMethod(c$,"toString",
+function(){
+{
+return this.m.toString();
+}});
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.declareType(java.util.Collections,"SynchronizedSet",java.util.Collections.SynchronizedCollection,java.util.Set);
+Clazz.overrideMethod(c$,"equals",
+function(a){
+{
+return this.c.equals(a);
+}},"~O");
+Clazz.overrideMethod(c$,"hashCode",
+function(){
+{
+return this.c.hashCode();
+}});
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.sm=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"SynchronizedSortedMap",java.util.Collections.SynchronizedMap,java.util.SortedMap);
+Clazz.makeConstructor(c$,
+function(a){
+Clazz.superConstructor(this,java.util.Collections.SynchronizedSortedMap,[a]);
+this.sm=a;
+},"java.util.SortedMap");
+Clazz.makeConstructor(c$,
+function(a,b){
+Clazz.superConstructor(this,java.util.Collections.SynchronizedSortedMap,[a,b]);
+this.sm=a;
+},"java.util.SortedMap,~O");
+Clazz.defineMethod(c$,"comparator",
+function(){
+{
+return this.sm.comparator();
+}});
+Clazz.defineMethod(c$,"firstKey",
+function(){
+{
+return this.sm.firstKey();
+}});
+Clazz.defineMethod(c$,"headMap",
+function(a){
+{
+return new java.util.Collections.SynchronizedSortedMap(this.sm.headMap(a),this.mutex);
+}},"~O");
+Clazz.defineMethod(c$,"lastKey",
+function(){
+{
+return this.sm.lastKey();
+}});
+Clazz.defineMethod(c$,"subMap",
+function(a,b){
+{
+return new java.util.Collections.SynchronizedSortedMap(this.sm.subMap(a,b),this.mutex);
+}},"~O,~O");
+Clazz.defineMethod(c$,"tailMap",
+function(a){
+{
+return new java.util.Collections.SynchronizedSortedMap(this.sm.tailMap(a),this.mutex);
+}},"~O");
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.ss=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"SynchronizedSortedSet",java.util.Collections.SynchronizedSet,java.util.SortedSet);
+Clazz.makeConstructor(c$,
+function(a){
+Clazz.superConstructor(this,java.util.Collections.SynchronizedSortedSet,[a]);
+this.ss=a;
+},"java.util.SortedSet");
+Clazz.makeConstructor(c$,
+function(a,b){
+Clazz.superConstructor(this,java.util.Collections.SynchronizedSortedSet,[a,b]);
+this.ss=a;
+},"java.util.SortedSet,~O");
+Clazz.defineMethod(c$,"comparator",
+function(){
+{
+return this.ss.comparator();
+}});
+Clazz.defineMethod(c$,"first",
+function(){
+{
+return this.ss.first();
+}});
+Clazz.defineMethod(c$,"headSet",
+function(a){
+{
+return new java.util.Collections.SynchronizedSortedSet(this.ss.headSet(a),this.mutex);
+}},"~O");
+Clazz.defineMethod(c$,"last",
+function(){
+{
+return this.ss.last();
+}});
+Clazz.defineMethod(c$,"subSet",
+function(a,b){
+{
+return new java.util.Collections.SynchronizedSortedSet(this.ss.subSet(a,b),this.mutex);
+}},"~O,~O");
+Clazz.defineMethod(c$,"tailSet",
+function(a){
+{
+return new java.util.Collections.SynchronizedSortedSet(this.ss.tailSet(a),this.mutex);
+}},"~O");
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.c=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"UnmodifiableCollection",null,[java.util.Collection,java.io.Serializable]);
+Clazz.makeConstructor(c$,
+function(a){
+this.c=a;
+},"java.util.Collection");
+Clazz.overrideMethod(c$,"add",
+function(a){
+throw new UnsupportedOperationException();
+},"~O");
+Clazz.overrideMethod(c$,"addAll",
+function(a){
+throw new UnsupportedOperationException();
+},"java.util.Collection");
+Clazz.overrideMethod(c$,"clear",
+function(){
+throw new UnsupportedOperationException();
+});
+Clazz.defineMethod(c$,"contains",
+function(a){
+return this.c.contains(a);
+},"~O");
+Clazz.defineMethod(c$,"containsAll",
+function(a){
+return this.c.containsAll(a);
+},"java.util.Collection");
+Clazz.defineMethod(c$,"isEmpty",
+function(){
+return this.c.isEmpty();
+});
+Clazz.defineMethod(c$,"iterator",
+function(){
+return((Clazz.isClassDefined("java.util.Collections$UnmodifiableCollection$1")?0:java.util.Collections.UnmodifiableCollection.$Collections$UnmodifiableCollection$1$()),Clazz.innerTypeInstance(java.util.Collections$UnmodifiableCollection$1,this,null));
+});
+Clazz.overrideMethod(c$,"remove",
+function(a){
+throw new UnsupportedOperationException();
+},"~O");
+Clazz.overrideMethod(c$,"removeAll",
+function(a){
+throw new UnsupportedOperationException();
+},"java.util.Collection");
+Clazz.overrideMethod(c$,"retainAll",
+function(a){
+throw new UnsupportedOperationException();
+},"java.util.Collection");
+Clazz.defineMethod(c$,"size",
+function(){
+return this.c.size();
+});
+Clazz.defineMethod(c$,"toArray",
+function(){
+return this.c.toArray();
+});
+Clazz.defineMethod(c$,"toArray",
+function(a){
+return this.c.toArray(a);
+},"~A");
+Clazz.defineMethod(c$,"toString",
+function(){
+return this.c.toString();
+});
+c$.$Collections$UnmodifiableCollection$1$=function(){
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+Clazz.prepareCallback(this,arguments);
+this.iterator=null;
+Clazz.instantialize(this,arguments);
+},java.util,"Collections$UnmodifiableCollection$1",null,java.util.Iterator);
+Clazz.prepareFields(c$,function(){
+this.iterator=this.b$["java.util.Collections.UnmodifiableCollection"].c.iterator();
+});
+Clazz.defineMethod(c$,"hasNext",
+function(){
+return this.iterator.hasNext();
+});
+Clazz.defineMethod(c$,"next",
+function(){
+return this.iterator.next();
+});
+Clazz.overrideMethod(c$,"remove",
+function(){
+throw new UnsupportedOperationException();
+});
+c$=Clazz.p0p();
+};
+c$=Clazz.p0p();
+
+//BH note: a declared static superclass must come before a static class referencing it
+
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.list=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"UnmodifiableList",java.util.Collections.UnmodifiableCollection,java.util.List);
+Clazz.makeConstructor(c$,
+function(a){
+Clazz.superConstructor(this,java.util.Collections.UnmodifiableList,[a]);
+this.list=a;
+},"java.util.List");
+Clazz.defineMethod(c$,"add",
+function(a,b){
+throw new UnsupportedOperationException();
+},"~N,~O");
+Clazz.defineMethod(c$,"addAll",
+function(a,b){
+throw new UnsupportedOperationException();
+},"~N,java.util.Collection");
+Clazz.overrideMethod(c$,"equals",
+function(a){
+return this.list.equals(a);
+},"~O");
+Clazz.defineMethod(c$,"get",
+function(a){
+return this.list.get(a);
+},"~N");
+Clazz.overrideMethod(c$,"hashcode",
+function(){
+return this.list.hashCode();
+});
+Clazz.defineMethod(c$,"indexOf",
+function(a){
+return this.list.indexOf(a);
+},"~O");
+Clazz.defineMethod(c$,"lastIndexOf",
+function(a){
+return this.list.lastIndexOf(a);
+},"~O");
+//Clazz.defineMethod(c$,"listIterator",
+//function(){
+//return this.listIterator(0);
+//});
+Clazz.defineMethod(c$,"listIterator",
+function(a){
+a || (a = 0);
+return((Clazz.isClassDefined("java.util.Collections$UnmodifiableList$1")?0:java.util.Collections.UnmodifiableList.$Collections$UnmodifiableList$1$()),Clazz.innerTypeInstance(java.util.Collections$UnmodifiableList$1,this,null));
+},"~N");
+Clazz.defineMethod(c$,"remove",
+function(a){
+throw new UnsupportedOperationException();
+},"~N");
+Clazz.overrideMethod(c$,"set",
+function(a,b){
+throw new UnsupportedOperationException();
+},"~N,~O");
+Clazz.defineMethod(c$,"subList",
+function(a,b){
+return new java.util.Collections.UnmodifiableList(this.list.subList(a,b));
+},"~N,~N");
+c$.$Collections$UnmodifiableList$1$=function(){
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+Clazz.prepareCallback(this,arguments);
+this.iterator=null;
+Clazz.instantialize(this,arguments);
+},java.util,"Collections$UnmodifiableList$1",null,java.util.ListIterator);
+Clazz.prepareFields(c$,function(){
+this.iterator=this.b$["java.util.Collections.UnmodifiableList"].list.listIterator(location);
+});
+Clazz.overrideMethod(c$,"add",
+function(b){
+throw new UnsupportedOperationException();
+},"~O");
+Clazz.defineMethod(c$,"hasNext",
+function(){
+return this.iterator.hasNext();
+});
+Clazz.defineMethod(c$,"hasPrevious",
+function(){
+return this.iterator.hasPrevious();
+});
+Clazz.defineMethod(c$,"next",
+function(){
+return this.iterator.next();
+});
+Clazz.defineMethod(c$,"nextIndex",
+function(){
+return this.iterator.nextIndex();
+});
+Clazz.defineMethod(c$,"previous",
+function(){
+return this.iterator.previous();
+});
+Clazz.defineMethod(c$,"previousIndex",
+function(){
+return this.iterator.previousIndex();
+});
+Clazz.overrideMethod(c$,"remove",
+function(){
+throw new UnsupportedOperationException();
+});
+Clazz.overrideMethod(c$,"set",
+function(b){
+throw new UnsupportedOperationException();
+},"~O");
+c$=Clazz.p0p();
+};
+c$=Clazz.p0p();
+
+
+
+
+Clazz.pu$h(self.c$);
+c$=Clazz.declareType(java.util.Collections,"UnmodifiableRandomAccessList",java.util.Collections.UnmodifiableList,java.util.RandomAccess);
+Clazz.overrideMethod(c$,"subList",
+function(a,b){
+return new java.util.Collections.UnmodifiableRandomAccessList(this.list.subList(a,b));
+},"~N,~N");
+c$=Clazz.p0p();
+
+
+Clazz.pu$h(self.c$);
+c$=Clazz.declareType(java.util.Collections,"UnmodifiableSet",java.util.Collections.UnmodifiableCollection,java.util.Set);
+Clazz.overrideMethod(c$,"equals",
+function(a){
+return this.c.equals(a);
+},"~O");
+Clazz.overrideMethod(c$,"hashCode",
+function(){
+return this.c.hashCode();
+});
+c$=Clazz.p0p();
+
+
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.m=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"UnmodifiableMap",null,[java.util.Map,java.io.Serializable]);
+Clazz.makeConstructor(c$,
+function(a){
+this.m=a;
+},"java.util.Map");
+Clazz.overrideMethod(c$,"clear",
+function(){
+throw new UnsupportedOperationException();
+});
+Clazz.defineMethod(c$,"containsKey",
+function(a){
+return this.m.containsKey(a);
+},"~O");
+Clazz.defineMethod(c$,"containsValue",
+function(a){
+return this.m.containsValue(a);
+},"~O");
+Clazz.defineMethod(c$,"entrySet",
+function(){
+return new java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet(this.m.entrySet());
+});
+Clazz.overrideMethod(c$,"equals",
+function(a){
+return this.m.equals(a);
+},"~O");
+Clazz.defineMethod(c$,"get",
+function(a){
+return this.m.get(a);
+},"~O");
+Clazz.overrideMethod(c$,"hashcode",
+function(){
+return this.m.hashCode();
+});
+Clazz.defineMethod(c$,"isEmpty",
+function(){
+return this.m.isEmpty();
+});
+Clazz.defineMethod(c$,"keySet",
+function(){
+return new java.util.Collections.UnmodifiableSet(this.m.keySet());
+});
+Clazz.overrideMethod(c$,"put",
+function(a,b){
+throw new UnsupportedOperationException();
+},"~O,~O");
+Clazz.overrideMethod(c$,"putAll",
+function(a){
+throw new UnsupportedOperationException();
+},"java.util.Map");
+Clazz.overrideMethod(c$,"remove",
+function(a){
+throw new UnsupportedOperationException();
+},"~O");
+Clazz.defineMethod(c$,"size",
+function(){
+return this.m.size();
+});
+Clazz.defineMethod(c$,"values",
+function(){
+return new java.util.Collections.UnmodifiableCollection(this.m.values());
+});
+Clazz.defineMethod(c$,"toString",
+function(){
+return this.m.toString();
+});
+
+
+
+
+
+
+
+Clazz.pu$h(self.c$);
+c$=Clazz.declareType(java.util.Collections.UnmodifiableMap,"UnmodifiableEntrySet",java.util.Collections.UnmodifiableSet);
+Clazz.overrideMethod(c$,"iterator",
+function(){
+return((Clazz.isClassDefined("java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$1")?0:java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet.$Collections$UnmodifiableMap$UnmodifiableEntrySet$1$()),Clazz.innerTypeInstance(java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$1,this,null));
+});
+Clazz.defineMethod(c$,"toArray",
+function(){
+var a=this.c.size();
+var b=new Array(a);
+var c=this.iterator();
+for(var d=a;--d>=0;){
+b[d]=c.next();
+}
+return b;
+});
+Clazz.defineMethod(c$,"toArray",
+function(a){
+var b=this.c.size();
+var c=0;
+var d=this.iterator();
+if(b>a.length){
+var e=a.getClass().getComponentType();
+a=java.lang.reflect.Array.newInstance(e,b);
+}while(c<b){
+a[c++]=d.next();
+}
+if(c<a.length){
+a[c]=null;
+}return a;
+},"~A");
+c$.$Collections$UnmodifiableMap$UnmodifiableEntrySet$1$=function(){
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+Clazz.prepareCallback(this,arguments);
+this.iterator=null;
+Clazz.instantialize(this,arguments);
+},java.util,"Collections$UnmodifiableMap$UnmodifiableEntrySet$1",null,java.util.Iterator);
+Clazz.prepareFields(c$,function(){
+this.iterator=this.b$["java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet"].c.iterator();
+});
+Clazz.defineMethod(c$,"hasNext",
+function(){
+return this.iterator.hasNext();
+});
+Clazz.defineMethod(c$,"next",
+function(){
+return new java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet.UnmodifiableMapEntry(this.iterator.next());
+});
+Clazz.overrideMethod(c$,"remove",
+function(){
+throw new UnsupportedOperationException();
+});
+c$=Clazz.p0p();
+};
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.mapEntry=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet,"UnmodifiableMapEntry",null,java.util.Map.Entry);
+Clazz.makeConstructor(c$,
+function(a){
+this.mapEntry=a;
+},"java.util.Map.Entry");
+Clazz.overrideMethod(c$,"equals",
+function(a){
+return this.mapEntry.equals(a);
+},"~O");
+Clazz.defineMethod(c$,"getKey",
+function(){
+return this.mapEntry.getKey();
+});
+Clazz.defineMethod(c$,"getValue",
+function(){
+return this.mapEntry.getValue();
+});
+Clazz.overrideMethod(c$,"hashcode",
+function(){
+return this.mapEntry.hashCode();
+});
+Clazz.overrideMethod(c$,"setValue",
+function(a){
+throw new UnsupportedOperationException();
+},"~O");
+Clazz.defineMethod(c$,"toString",
+function(){
+return this.mapEntry.toString();
+});
+c$=Clazz.p0p();
+c$=Clazz.p0p();
+c$=Clazz.p0p();
+
+
+
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.sm=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"UnmodifiableSortedMap",java.util.Collections.UnmodifiableMap,java.util.SortedMap);
+Clazz.makeConstructor(c$,
+function(a){
+Clazz.superConstructor(this,java.util.Collections.UnmodifiableSortedMap,[a]);
+this.sm=a;
+},"java.util.SortedMap");
+Clazz.defineMethod(c$,"comparator",
+function(){
+return this.sm.comparator();
+});
+Clazz.defineMethod(c$,"firstKey",
+function(){
+return this.sm.firstKey();
+});
+Clazz.defineMethod(c$,"headMap",
+function(a){
+return new java.util.Collections.UnmodifiableSortedMap(this.sm.headMap(a));
+},"~O");
+Clazz.defineMethod(c$,"lastKey",
+function(){
+return this.sm.lastKey();
+});
+Clazz.defineMethod(c$,"subMap",
+function(a,b){
+return new java.util.Collections.UnmodifiableSortedMap(this.sm.subMap(a,b));
+},"~O,~O");
+Clazz.defineMethod(c$,"tailMap",
+function(a){
+return new java.util.Collections.UnmodifiableSortedMap(this.sm.tailMap(a));
+},"~O");
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.ss=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"UnmodifiableSortedSet",java.util.Collections.UnmodifiableSet,java.util.SortedSet);
+Clazz.makeConstructor(c$,
+function(a){
+Clazz.superConstructor(this,java.util.Collections.UnmodifiableSortedSet,[a]);
+this.ss=a;
+},"java.util.SortedSet");
+Clazz.defineMethod(c$,"comparator",
+function(){
+return this.ss.comparator();
+});
+Clazz.defineMethod(c$,"first",
+function(){
+return this.ss.first();
+});
+Clazz.defineMethod(c$,"headSet",
+function(a){
+return new java.util.Collections.UnmodifiableSortedSet(this.ss.headSet(a));
+},"~O");
+Clazz.defineMethod(c$,"last",
+function(){
+return this.ss.last();
+});
+Clazz.defineMethod(c$,"subSet",
+function(a,b){
+return new java.util.Collections.UnmodifiableSortedSet(this.ss.subSet(a,b));
+},"~O,~O");
+Clazz.defineMethod(c$,"tailSet",
+function(a){
+return new java.util.Collections.UnmodifiableSortedSet(this.ss.tailSet(a));
+},"~O");
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.c=null;
+this.type=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"CheckedCollection",null,[java.util.Collection,java.io.Serializable]);
+Clazz.makeConstructor(c$,
+function(a,b){
+if(a==null||b==null){
+throw new NullPointerException();
+}this.c=a;
+this.type=b;
+},"java.util.Collection,Class");
+Clazz.defineMethod(c$,"size",
+function(){
+return this.c.size();
+});
+Clazz.defineMethod(c$,"isEmpty",
+function(){
+return this.c.isEmpty();
+});
+Clazz.defineMethod(c$,"contains",
+function(a){
+return this.c.contains(a);
+},"~O");
+Clazz.defineMethod(c$,"iterator",
+function(){
+var a=this.c.iterator();
+if(Clazz.instanceOf(a,java.util.ListIterator)){
+a=new java.util.Collections.CheckedListIterator(a,this.type);
+}return a;
+});
+Clazz.defineMethod(c$,"toArray",
+function(){
+return this.c.toArray();
+});
+Clazz.defineMethod(c$,"toArray",
+function(a){
+return this.c.toArray(a);
+},"~A");
+Clazz.defineMethod(c$,"add",
+function(a){
+return this.c.add(java.util.Collections.checkType(a,this.type));
+},"~O");
+Clazz.defineMethod(c$,"remove",
+function(a){
+return this.c.remove(a);
+},"~O");
+Clazz.defineMethod(c$,"containsAll",
+function(a){
+return this.c.containsAll(a);
+},"java.util.Collection");
+Clazz.overrideMethod(c$,"addAll",
+function(a){
+var b=a.size();
+if(b==0){
+return false;
+}var c=new Array(b);
+var d=a.iterator();
+for(var e=0;e<b;e++){
+c[e]=java.util.Collections.checkType(d.next(),this.type);
+}
+var f=false;
+for(var g=0;g<b;g++){
+f=new Boolean(f|this.c.add(c[g])).valueOf();
+}
+return f;
+},"java.util.Collection");
+Clazz.defineMethod(c$,"removeAll",
+function(a){
+return this.c.removeAll(a);
+},"java.util.Collection");
+Clazz.defineMethod(c$,"retainAll",
+function(a){
+return this.c.retainAll(a);
+},"java.util.Collection");
+Clazz.defineMethod(c$,"clear",
+function(){
+this.c.clear();
+});
+Clazz.defineMethod(c$,"toString",
+function(){
+return this.c.toString();
+});
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.i=null;
+this.type=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"CheckedListIterator",null,java.util.ListIterator);
+Clazz.makeConstructor(c$,
+function(a,b){
+this.i=a;
+this.type=b;
+},"java.util.ListIterator,Class");
+Clazz.defineMethod(c$,"hasNext",
+function(){
+return this.i.hasNext();
+});
+Clazz.defineMethod(c$,"next",
+function(){
+return this.i.next();
+});
+Clazz.defineMethod(c$,"remove",
+function(){
+this.i.remove();
+});
+Clazz.defineMethod(c$,"hasPrevious",
+function(){
+return this.i.hasPrevious();
+});
+Clazz.defineMethod(c$,"previous",
+function(){
+return this.i.previous();
+});
+Clazz.defineMethod(c$,"nextIndex",
+function(){
+return this.i.nextIndex();
+});
+Clazz.defineMethod(c$,"previousIndex",
+function(){
+return this.i.previousIndex();
+});
+Clazz.defineMethod(c$,"set",
+function(a){
+this.i.set(java.util.Collections.checkType(a,this.type));
+},"~O");
+Clazz.defineMethod(c$,"add",
+function(a){
+this.i.add(java.util.Collections.checkType(a,this.type));
+},"~O");
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.l=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"CheckedList",java.util.Collections.CheckedCollection,java.util.List);
+Clazz.makeConstructor(c$,
+function(a,b){
+Clazz.superConstructor(this,java.util.Collections.CheckedList,[a,b]);
+this.l=a;
+},"java.util.List,Class");
+Clazz.defineMethod(c$,"addAll",
+function(a,b){
+var c=b.size();
+if(c==0){
+return false;
+}var d=new Array(c);
+var e=b.iterator();
+for(var f=0;f<c;f++){
+d[f]=java.util.Collections.checkType(e.next(),this.type);
+}
+return this.l.addAll(a,java.util.Arrays.asList(d));
+},"~N,java.util.Collection");
+Clazz.defineMethod(c$,"get",
+function(a){
+return this.l.get(a);
+},"~N");
+Clazz.defineMethod(c$,"set",
+function(a,b){
+return this.l.set(a,java.util.Collections.checkType(b,this.type));
+},"~N,~O");
+Clazz.defineMethod(c$,"add",
+function(a,b){
+this.l.add(a,java.util.Collections.checkType(b,this.type));
+},"~N,~O");
+Clazz.defineMethod(c$,"remove",
+function(a){
+return this.l.remove(a);
+},"~N");
+Clazz.defineMethod(c$,"indexOf",
+function(a){
+return this.l.indexOf(a);
+},"~O");
+Clazz.defineMethod(c$,"lastIndexOf",
+function(a){
+return this.l.lastIndexOf(a);
+},"~O");
+//Clazz.defineMethod(c$,"listIterator",
+//function(){
+//return new java.util.Collections.CheckedListIterator(this.l.listIterator(),this.type);
+//});
+Clazz.defineMethod(c$,"listIterator",
+function(a){
+a || (a = 0);
+return new java.util.Collections.CheckedListIterator(this.l.listIterator(a),this.type);
+},"~N");
+Clazz.defineMethod(c$,"subList",
+function(a,b){
+return java.util.Collections.checkedList(this.l.subList(a,b),this.type);
+},"~N,~N");
+Clazz.overrideMethod(c$,"equals",
+function(a){
+return this.l.equals(a);
+},"~O");
+Clazz.overrideMethod(c$,"hashcode",
+function(){
+return this.l.hashCode();
+});
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.declareType(java.util.Collections,"CheckedRandomAccessList",java.util.Collections.CheckedList,java.util.RandomAccess);
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.declareType(java.util.Collections,"CheckedSet",java.util.Collections.CheckedCollection,java.util.Set);
+Clazz.overrideMethod(c$,"equals",
+function(a){
+return this.c.equals(a);
+},"~O");
+Clazz.overrideMethod(c$,"hashCode",
+function(){
+return this.c.hashCode();
+});
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.m=null;
+this.keyType=null;
+this.valueType=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"CheckedMap",null,[java.util.Map,java.io.Serializable]);
+Clazz.makeConstructor(c$,
+($fz=function(a,b,c){
+if(a==null||b==null||c==null){
+throw new NullPointerException();
+}this.m=a;
+this.keyType=b;
+this.valueType=c;
+},$fz.isPrivate=true,$fz),"java.util.Map,Class,Class");
+Clazz.defineMethod(c$,"size",
+function(){
+return this.m.size();
+});
+Clazz.defineMethod(c$,"isEmpty",
+function(){
+return this.m.isEmpty();
+});
+Clazz.defineMethod(c$,"containsKey",
+function(a){
+return this.m.containsKey(a);
+},"~O");
+Clazz.defineMethod(c$,"containsValue",
+function(a){
+return this.m.containsValue(a);
+},"~O");
+Clazz.defineMethod(c$,"get",
+function(a){
+return this.m.get(a);
+},"~O");
+Clazz.defineMethod(c$,"put",
+function(a,b){
+return this.m.put(java.util.Collections.checkType(a,this.keyType),java.util.Collections.checkType(b,this.valueType));
+},"~O,~O");
+Clazz.defineMethod(c$,"remove",
+function(a){
+return this.m.remove(a);
+},"~O");
+Clazz.overrideMethod(c$,"putAll",
+function(a){
+var b=a.size();
+if(b==0){
+return;
+}var c=new Array(b);
+var d=a.entrySet().iterator();
+for(var e=0;e<b;e++){
+var f=d.next();
+java.util.Collections.checkType(f.getKey(),this.keyType);
+java.util.Collections.checkType(f.getValue(),this.valueType);
+c[e]=f;
+}
+for(var f=0;f<b;f++){
+this.m.put(c[f].getKey(),c[f].getValue());
+}
+},"java.util.Map");
+Clazz.defineMethod(c$,"clear",
+function(){
+this.m.clear();
+});
+Clazz.defineMethod(c$,"keySet",
+function(){
+return this.m.keySet();
+});
+Clazz.defineMethod(c$,"values",
+function(){
+return this.m.values();
+});
+Clazz.defineMethod(c$,"entrySet",
+function(){
+return new java.util.Collections.CheckedMap.CheckedEntrySet(this.m.entrySet(),this.valueType);
+});
+Clazz.overrideMethod(c$,"equals",
+function(a){
+return this.m.equals(a);
+},"~O");
+Clazz.overrideMethod(c$,"hashcode",
+function(){
+return this.m.hashCode();
+});
+Clazz.defineMethod(c$,"toString",
+function(){
+return this.m.toString();
+});
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.e=null;
+this.valueType=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections.CheckedMap,"CheckedEntry",null,java.util.Map.Entry);
+Clazz.makeConstructor(c$,
+function(a,b){
+if(a==null){
+throw new NullPointerException();
+}this.e=a;
+this.valueType=b;
+},"java.util.Map.Entry,Class");
+Clazz.defineMethod(c$,"getKey",
+function(){
+return this.e.getKey();
+});
+Clazz.defineMethod(c$,"getValue",
+function(){
+return this.e.getValue();
+});
+Clazz.defineMethod(c$,"setValue",
+function(a){
+return this.e.setValue(java.util.Collections.checkType(a,this.valueType));
+},"~O");
+Clazz.overrideMethod(c$,"equals",
+function(a){
+return this.e.equals(a);
+},"~O");
+Clazz.overrideMethod(c$,"hashcode",
+function(){
+return this.e.hashCode();
+});
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.s=null;
+this.valueType=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections.CheckedMap,"CheckedEntrySet",null,java.util.Set);
+Clazz.makeConstructor(c$,
+function(a,b){
+this.s=a;
+this.valueType=b;
+},"java.util.Set,Class");
+Clazz.defineMethod(c$,"iterator",
+function(){
+return new java.util.Collections.CheckedMap.CheckedEntrySet.CheckedEntryIterator(this.s.iterator(),this.valueType);
+});
+Clazz.defineMethod(c$,"toArray",
+function(){
+var a=this.size();
+var b=new Array(a);
+var c=this.iterator();
+for(var d=0;d<a;d++){
+b[d]=c.next();
+}
+return b;
+});
+Clazz.defineMethod(c$,"toArray",
+function(a){
+var b=this.size();
+if(a.length<b){
+var c=a.getClass().getComponentType();
+a=java.lang.reflect.Array.newInstance(c,b);
+}var c=this.iterator();
+for(var d=0;d<b;d++){
+a[d]=c.next();
+}
+if(b<a.length){
+a[b]=null;
+}return a;
+},"~A");
+Clazz.defineMethod(c$,"retainAll",
+function(a){
+return this.s.retainAll(a);
+},"java.util.Collection");
+Clazz.defineMethod(c$,"removeAll",
+function(a){
+return this.s.removeAll(a);
+},"java.util.Collection");
+Clazz.defineMethod(c$,"containsAll",
+function(a){
+return this.s.containsAll(a);
+},"java.util.Collection");
+Clazz.overrideMethod(c$,"addAll",
+function(a){
+throw new UnsupportedOperationException();
+},"java.util.Collection");
+Clazz.defineMethod(c$,"remove",
+function(a){
+return this.s.remove(a);
+},"~O");
+Clazz.defineMethod(c$,"contains",
+function(a){
+return this.s.contains(a);
+},"~O");
+Clazz.overrideMethod(c$,"add",
+function(a){
+throw new UnsupportedOperationException();
+},"java.util.Map.Entry");
+Clazz.defineMethod(c$,"isEmpty",
+function(){
+return this.s.isEmpty();
+});
+Clazz.defineMethod(c$,"clear",
+function(){
+this.s.clear();
+});
+Clazz.defineMethod(c$,"size",
+function(){
+return this.s.size();
+});
+Clazz.overrideMethod(c$,"hashcode",
+function(){
+return this.s.hashCode();
+});
+Clazz.overrideMethod(c$,"equals",
+function(a){
+return this.s.equals(a);
+},"~O");
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.i=null;
+this.valueType=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections.CheckedMap.CheckedEntrySet,"CheckedEntryIterator",null,java.util.Iterator);
+Clazz.makeConstructor(c$,
+function(a,b){
+this.i=a;
+this.valueType=b;
+},"java.util.Iterator,Class");
+Clazz.defineMethod(c$,"hasNext",
+function(){
+return this.i.hasNext();
+});
+Clazz.defineMethod(c$,"remove",
+function(){
+this.i.remove();
+});
+Clazz.defineMethod(c$,"next",
+function(){
+return new java.util.Collections.CheckedMap.CheckedEntry(this.i.next(),this.valueType);
+});
+c$=Clazz.p0p();
+c$=Clazz.p0p();
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.ss=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"CheckedSortedSet",java.util.Collections.CheckedSet,java.util.SortedSet);
+Clazz.makeConstructor(c$,
+function(a,b){
+Clazz.superConstructor(this,java.util.Collections.CheckedSortedSet,[a,b]);
+this.ss=a;
+},"java.util.SortedSet,Class");
+Clazz.defineMethod(c$,"comparator",
+function(){
+return this.ss.comparator();
+});
+Clazz.defineMethod(c$,"subSet",
+function(a,b){
+return new java.util.Collections.CheckedSortedSet(this.ss.subSet(a,b),this.type);
+},"~O,~O");
+Clazz.defineMethod(c$,"headSet",
+function(a){
+return new java.util.Collections.CheckedSortedSet(this.ss.headSet(a),this.type);
+},"~O");
+Clazz.defineMethod(c$,"tailSet",
+function(a){
+return new java.util.Collections.CheckedSortedSet(this.ss.tailSet(a),this.type);
+},"~O");
+Clazz.defineMethod(c$,"first",
+function(){
+return this.ss.first();
+});
+Clazz.defineMethod(c$,"last",
+function(){
+return this.ss.last();
+});
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.sm=null;
+Clazz.instantialize(this,arguments);
+},java.util.Collections,"CheckedSortedMap",java.util.Collections.CheckedMap,java.util.SortedMap);
+Clazz.makeConstructor(c$,
+function(a,b,c){
+Clazz.superConstructor(this,java.util.Collections.CheckedSortedMap,[a,b,c]);
+this.sm=a;
+},"java.util.SortedMap,Class,Class");
+Clazz.defineMethod(c$,"comparator",
+function(){
+return this.sm.comparator();
+});
+Clazz.defineMethod(c$,"subMap",
+function(a,b){
+return new java.util.Collections.CheckedSortedMap(this.sm.subMap(a,b),this.keyType,this.valueType);
+},"~O,~O");
+Clazz.defineMethod(c$,"headMap",
+function(a){
+return new java.util.Collections.CheckedSortedMap(this.sm.headMap(a),this.keyType,this.valueType);
+},"~O");
+Clazz.defineMethod(c$,"tailMap",
+function(a){
+return new java.util.Collections.CheckedSortedMap(this.sm.tailMap(a),this.keyType,this.valueType);
+},"~O");
+Clazz.defineMethod(c$,"firstKey",
+function(){
+return this.sm.firstKey();
+});
+Clazz.defineMethod(c$,"lastKey",
+function(){
+return this.sm.lastKey();
+});
+c$=Clazz.p0p();
+c$.EMPTY_LIST=c$.prototype.EMPTY_LIST=new java.util.Collections.EmptyList();
+c$.EMPTY_SET=c$.prototype.EMPTY_SET=new java.util.Collections.EmptySet();
+c$.EMPTY_MAP=c$.prototype.EMPTY_MAP=new java.util.Collections.EmptyMap();
+});