36.66/11.29 YES 36.66/11.32 proof of /export/starexec/sandbox/benchmark/theBenchmark.jar 36.66/11.32 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 36.66/11.32 36.66/11.32 36.66/11.32 termination of the given Bare JBC problem could be proven: 36.66/11.32 36.66/11.32 (0) Bare JBC problem 36.66/11.32 (1) BareJBCToJBCProof [EQUIVALENT, 96 ms] 36.66/11.32 (2) JBC problem 36.66/11.32 (3) JBCToGraph [EQUIVALENT, 5126 ms] 36.66/11.32 (4) JBCTerminationGraph 36.66/11.32 (5) TerminationGraphToSCCProof [SOUND, 13 ms] 36.66/11.32 (6) AND 36.66/11.32 (7) JBCTerminationSCC 36.66/11.32 (8) SCCToIRSProof [SOUND, 304 ms] 36.66/11.32 (9) IRSwT 36.66/11.32 (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 36.66/11.32 (11) IRSwT 36.66/11.32 (12) IRSwTTerminationDigraphProof [EQUIVALENT, 43 ms] 36.66/11.32 (13) IRSwT 36.66/11.32 (14) IntTRSCompressionProof [EQUIVALENT, 0 ms] 36.66/11.32 (15) IRSwT 36.66/11.32 (16) TempFilterProof [SOUND, 35 ms] 36.66/11.32 (17) IntTRS 36.66/11.32 (18) RankingReductionPairProof [EQUIVALENT, 0 ms] 36.66/11.32 (19) YES 36.66/11.32 (20) JBCTerminationSCC 36.66/11.32 (21) SCCToIRSProof [SOUND, 291 ms] 36.66/11.32 (22) IRSwT 36.66/11.32 (23) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 36.66/11.32 (24) IRSwT 36.66/11.32 (25) IRSwTTerminationDigraphProof [EQUIVALENT, 273 ms] 36.66/11.32 (26) IRSwT 36.66/11.32 (27) IntTRSCompressionProof [EQUIVALENT, 0 ms] 36.66/11.32 (28) IRSwT 36.66/11.32 (29) TempFilterProof [SOUND, 59 ms] 36.66/11.32 (30) IntTRS 36.66/11.32 (31) RankingReductionPairProof [EQUIVALENT, 27 ms] 36.66/11.32 (32) YES 36.66/11.32 (33) JBCTerminationSCC 36.66/11.32 (34) SCCToIRSProof [SOUND, 315 ms] 36.66/11.32 (35) IRSwT 36.66/11.32 (36) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 36.66/11.32 (37) IRSwT 36.66/11.32 (38) IRSwTTerminationDigraphProof [EQUIVALENT, 267 ms] 36.66/11.32 (39) IRSwT 36.66/11.32 (40) IntTRSCompressionProof [EQUIVALENT, 0 ms] 36.66/11.32 (41) IRSwT 36.66/11.32 (42) TempFilterProof [SOUND, 53 ms] 36.66/11.32 (43) IntTRS 36.66/11.32 (44) PolynomialOrderProcessor [EQUIVALENT, 14 ms] 36.66/11.32 (45) IntTRS 36.66/11.32 (46) RankingReductionPairProof [EQUIVALENT, 0 ms] 36.66/11.32 (47) YES 36.66/11.32 (48) JBCTerminationSCC 36.66/11.32 (49) SCCToIRSProof [SOUND, 296 ms] 36.66/11.32 (50) IRSwT 36.66/11.32 (51) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 36.66/11.32 (52) IRSwT 36.66/11.32 (53) IRSwTTerminationDigraphProof [EQUIVALENT, 199 ms] 36.66/11.32 (54) IRSwT 36.66/11.32 (55) IntTRSCompressionProof [EQUIVALENT, 0 ms] 36.66/11.32 (56) IRSwT 36.66/11.32 (57) TempFilterProof [SOUND, 42 ms] 36.66/11.32 (58) IntTRS 36.66/11.32 (59) RankingReductionPairProof [EQUIVALENT, 0 ms] 36.66/11.32 (60) YES 36.66/11.32 (61) JBCTerminationSCC 36.66/11.32 (62) SCCToIRSProof [SOUND, 291 ms] 36.66/11.32 (63) IRSwT 36.66/11.32 (64) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 36.66/11.32 (65) IRSwT 36.66/11.32 (66) IRSwTTerminationDigraphProof [EQUIVALENT, 228 ms] 36.66/11.32 (67) IRSwT 36.66/11.32 (68) IntTRSCompressionProof [EQUIVALENT, 0 ms] 36.66/11.32 (69) IRSwT 36.66/11.32 (70) TempFilterProof [SOUND, 18 ms] 36.66/11.32 (71) IntTRS 36.66/11.32 (72) RankingReductionPairProof [EQUIVALENT, 0 ms] 36.66/11.32 (73) YES 36.66/11.32 (74) JBCTerminationSCC 36.66/11.32 (75) SCCToIRSProof [SOUND, 134 ms] 36.66/11.32 (76) IRSwT 36.66/11.32 (77) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 36.66/11.32 (78) IRSwT 36.66/11.32 (79) IRSwTTerminationDigraphProof [EQUIVALENT, 26 ms] 36.66/11.32 (80) IRSwT 36.66/11.32 (81) IntTRSCompressionProof [EQUIVALENT, 0 ms] 36.66/11.32 (82) IRSwT 36.66/11.32 (83) TempFilterProof [SOUND, 15 ms] 36.66/11.32 (84) IntTRS 36.66/11.32 (85) RankingReductionPairProof [EQUIVALENT, 0 ms] 36.66/11.32 (86) YES 36.66/11.32 (87) JBCTerminationSCC 36.66/11.32 (88) SCCToIRSProof [SOUND, 142 ms] 36.66/11.32 (89) IRSwT 36.66/11.32 (90) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 36.66/11.32 (91) IRSwT 36.66/11.32 (92) IRSwTTerminationDigraphProof [EQUIVALENT, 24 ms] 36.66/11.32 (93) IRSwT 36.66/11.32 (94) IntTRSCompressionProof [EQUIVALENT, 0 ms] 36.66/11.32 (95) IRSwT 36.66/11.32 (96) TempFilterProof [SOUND, 47 ms] 36.66/11.32 (97) IntTRS 36.66/11.32 (98) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 36.66/11.32 (99) YES 36.66/11.32 (100) JBCTerminationSCC 36.66/11.32 (101) SCCToIRSProof [SOUND, 189 ms] 36.66/11.32 (102) IRSwT 36.66/11.32 (103) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 36.66/11.32 (104) IRSwT 36.66/11.32 (105) IRSwTTerminationDigraphProof [EQUIVALENT, 215 ms] 36.66/11.32 (106) IRSwT 36.66/11.32 (107) IntTRSCompressionProof [EQUIVALENT, 0 ms] 36.66/11.32 (108) IRSwT 36.66/11.32 (109) TempFilterProof [SOUND, 56 ms] 36.66/11.32 (110) IntTRS 36.66/11.32 (111) RankingReductionPairProof [EQUIVALENT, 0 ms] 36.66/11.32 (112) YES 36.66/11.32 (113) JBCTerminationSCC 36.66/11.32 (114) SCCToIRSProof [SOUND, 159 ms] 36.66/11.32 (115) IRSwT 36.66/11.32 (116) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 36.66/11.32 (117) IRSwT 36.66/11.32 (118) IRSwTTerminationDigraphProof [EQUIVALENT, 246 ms] 36.66/11.32 (119) IRSwT 36.66/11.32 (120) IntTRSCompressionProof [EQUIVALENT, 0 ms] 36.66/11.32 (121) IRSwT 36.66/11.32 (122) TempFilterProof [SOUND, 66 ms] 36.66/11.32 (123) IntTRS 36.66/11.32 (124) RankingReductionPairProof [EQUIVALENT, 32 ms] 36.66/11.32 (125) YES 36.66/11.32 36.66/11.32 36.66/11.32 ---------------------------------------- 36.66/11.32 36.66/11.32 (0) 36.66/11.32 Obligation: 36.66/11.32 need to prove termination of the following program: 36.66/11.32 /* 36.66/11.32 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 36.66/11.32 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.66/11.32 * 36.66/11.32 * This code is free software; you can redistribute it and/or modify it 36.66/11.32 * under the terms of the GNU General Public License version 2 only, as 36.66/11.32 * published by the Free Software Foundation. Sun designates this 36.66/11.32 * particular file as subject to the "Classpath" exception as provided 36.66/11.32 * by Sun in the LICENSE file that accompanied this code. 36.66/11.32 * 36.66/11.32 * This code is distributed in the hope that it will be useful, but WITHOUT 36.66/11.32 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.66/11.32 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.66/11.32 * version 2 for more details (a copy is included in the LICENSE file that 36.66/11.32 * accompanied this code). 36.66/11.32 * 36.66/11.32 * You should have received a copy of the GNU General Public License version 36.66/11.32 * 2 along with this work; if not, write to the Free Software Foundation, 36.66/11.32 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.66/11.32 * 36.66/11.32 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.66/11.32 * CA 95054 USA or visit www.sun.com if you need additional information or 36.66/11.32 * have any questions. 36.66/11.32 */ 36.66/11.32 36.66/11.32 package javaUtilEx; 36.66/11.32 36.66/11.32 /** 36.66/11.32 * This class provides a skeletal implementation of the Collection 36.66/11.32 * interface, to minimize the effort required to implement this interface.

36.66/11.32 * 36.66/11.32 * To implement an unmodifiable collection, the programmer needs only to 36.66/11.32 * extend this class and provide implementations for the iterator and 36.66/11.32 * size methods. (The iterator returned by the iterator 36.66/11.32 * method must implement hasNext and next.)

36.66/11.32 * 36.66/11.32 * To implement a modifiable collection, the programmer must additionally 36.66/11.32 * override this class's add method (which otherwise throws an 36.66/11.32 * UnsupportedOperationException), and the iterator returned by the 36.66/11.32 * iterator method must additionally implement its remove 36.66/11.32 * method.

36.66/11.32 * 36.66/11.32 * The programmer should generally provide a void (no argument) and 36.66/11.32 * Collection constructor, as per the recommendation in the 36.66/11.32 * Collection interface specification.

36.66/11.32 * 36.66/11.32 * The documentation for each non-abstract method in this class describes its 36.66/11.32 * implementation in detail. Each of these methods may be overridden if 36.66/11.32 * the collection being implemented admits a more efficient implementation.

36.66/11.32 * 36.66/11.32 * This class is a member of the 36.66/11.32 * 36.66/11.32 * Java Collections Framework. 36.66/11.32 * 36.66/11.32 * @author Josh Bloch 36.66/11.32 * @author Neal Gafter 36.66/11.32 * @see Collection 36.66/11.32 * @since 1.2 36.66/11.32 */ 36.66/11.32 36.66/11.32 public abstract class AbstractCollection implements Collection { 36.66/11.32 /** 36.66/11.32 * Sole constructor. (For invocation by subclass constructors, typically 36.66/11.32 * implicit.) 36.66/11.32 */ 36.66/11.32 protected AbstractCollection() { 36.66/11.32 } 36.66/11.32 36.66/11.32 // Query Operations 36.66/11.32 36.66/11.32 /** 36.66/11.32 * Returns an iterator over the elements contained in this collection. 36.66/11.32 * 36.66/11.32 * @return an iterator over the elements contained in this collection 36.66/11.32 */ 36.66/11.32 public abstract Iterator iterator(); 36.66/11.32 36.66/11.32 public abstract int size(); 36.66/11.32 36.66/11.32 /** 36.66/11.32 * {@inheritDoc} 36.66/11.32 * 36.66/11.32 *

This implementation returns size() == 0. 36.66/11.32 */ 36.66/11.32 public boolean isEmpty() { 36.66/11.32 return size() == 0; 36.66/11.32 } 36.66/11.32 36.66/11.32 /** 36.66/11.32 * {@inheritDoc} 36.66/11.32 * 36.66/11.32 *

This implementation iterates over the elements in the collection, 36.66/11.32 * checking each element in turn for equality with the specified element. 36.66/11.32 * 36.66/11.32 * @throws ClassCastException {@inheritDoc} 36.66/11.32 * @throws NullPointerException {@inheritDoc} 36.66/11.32 */ 36.66/11.32 public boolean contains(Object o) { 36.66/11.32 Iterator e = iterator(); 36.66/11.32 if (o==null) { 36.66/11.32 while (e.hasNext()) 36.66/11.32 if (e.next()==null) 36.66/11.32 return true; 36.66/11.32 } else { 36.66/11.32 while (e.hasNext()) 36.66/11.32 if (o.equals(e.next())) 36.66/11.32 return true; 36.66/11.32 } 36.66/11.32 return false; 36.66/11.32 } 36.66/11.32 36.66/11.32 // Modification Operations 36.66/11.32 36.66/11.32 /** 36.66/11.32 * {@inheritDoc} 36.66/11.32 * 36.66/11.32 *

This implementation always throws an 36.66/11.32 * UnsupportedOperationException. 36.66/11.32 * 36.66/11.32 * @throws UnsupportedOperationException {@inheritDoc} 36.66/11.32 * @throws ClassCastException {@inheritDoc} 36.66/11.32 * @throws NullPointerException {@inheritDoc} 36.66/11.32 * @throws IllegalArgumentException {@inheritDoc} 36.66/11.32 * @throws IllegalStateException {@inheritDoc} 36.66/11.32 */ 36.66/11.32 public boolean add(E e) { 36.66/11.32 throw new UnsupportedOperationException(); 36.66/11.32 } 36.66/11.32 36.66/11.32 /** 36.66/11.32 * {@inheritDoc} 36.66/11.32 * 36.66/11.32 *

This implementation iterates over the collection looking for the 36.66/11.32 * specified element. If it finds the element, it removes the element 36.66/11.32 * from the collection using the iterator's remove method. 36.66/11.32 * 36.66/11.32 *

Note that this implementation throws an 36.66/11.32 * UnsupportedOperationException if the iterator returned by this 36.66/11.32 * collection's iterator method does not implement the remove 36.66/11.32 * method and this collection contains the specified object. 36.66/11.32 * 36.66/11.32 * @throws UnsupportedOperationException {@inheritDoc} 36.66/11.32 * @throws ClassCastException {@inheritDoc} 36.66/11.32 * @throws NullPointerException {@inheritDoc} 36.66/11.32 */ 36.66/11.32 public boolean remove(Object o) { 36.66/11.32 Iterator e = iterator(); 36.66/11.32 if (o==null) { 36.66/11.32 while (e.hasNext()) { 36.66/11.32 if (e.next()==null) { 36.66/11.32 e.remove(); 36.66/11.32 return true; 36.66/11.32 } 36.66/11.32 } 36.66/11.32 } else { 36.66/11.32 while (e.hasNext()) { 36.66/11.32 if (o.equals(e.next())) { 36.66/11.32 e.remove(); 36.66/11.32 return true; 36.66/11.32 } 36.66/11.32 } 36.66/11.32 } 36.66/11.32 return false; 36.66/11.32 } 36.66/11.32 36.66/11.32 36.66/11.32 // Bulk Operations 36.66/11.32 36.66/11.32 /** 36.66/11.32 * {@inheritDoc} 36.66/11.32 * 36.66/11.32 *

This implementation iterates over the specified collection, 36.66/11.32 * checking each element returned by the iterator in turn to see 36.66/11.32 * if it's contained in this collection. If all elements are so 36.66/11.32 * contained true is returned, otherwise false. 36.66/11.32 * 36.66/11.32 * @throws ClassCastException {@inheritDoc} 36.66/11.32 * @throws NullPointerException {@inheritDoc} 36.66/11.32 * @see #contains(Object) 36.66/11.32 */ 36.66/11.32 public boolean containsAll(Collection c) { 36.66/11.32 Iterator e = c.iterator(); 36.66/11.32 while (e.hasNext()) 36.66/11.32 if (!contains(e.next())) 36.66/11.32 return false; 36.66/11.32 return true; 36.66/11.32 } 36.66/11.32 36.66/11.32 /** 36.66/11.32 * {@inheritDoc} 36.66/11.32 * 36.66/11.32 *

This implementation iterates over the specified collection, and adds 36.66/11.32 * each object returned by the iterator to this collection, in turn. 36.66/11.32 * 36.66/11.32 *

Note that this implementation will throw an 36.66/11.32 * UnsupportedOperationException unless add is 36.66/11.32 * overridden (assuming the specified collection is non-empty). 36.66/11.32 * 36.66/11.32 * @throws UnsupportedOperationException {@inheritDoc} 36.66/11.32 * @throws ClassCastException {@inheritDoc} 36.66/11.32 * @throws NullPointerException {@inheritDoc} 36.66/11.32 * @throws IllegalArgumentException {@inheritDoc} 36.66/11.32 * @throws IllegalStateException {@inheritDoc} 36.66/11.32 * 36.66/11.32 * @see #add(Object) 36.66/11.32 */ 36.66/11.32 public boolean addAll(Collection c) { 36.66/11.32 boolean modified = false; 36.66/11.32 Iterator e = c.iterator(); 36.66/11.32 while (e.hasNext()) { 36.66/11.32 if (add(e.next())) 36.66/11.32 modified = true; 36.66/11.32 } 36.66/11.32 return modified; 36.66/11.32 } 36.66/11.32 36.66/11.32 /** 36.66/11.32 * {@inheritDoc} 36.66/11.32 * 36.66/11.32 *

This implementation iterates over this collection, checking each 36.66/11.32 * element returned by the iterator in turn to see if it's contained 36.66/11.32 * in the specified collection. If it's so contained, it's removed from 36.66/11.32 * this collection with the iterator's remove method. 36.66/11.32 * 36.66/11.32 *

Note that this implementation will throw an 36.66/11.32 * UnsupportedOperationException if the iterator returned by the 36.66/11.32 * iterator method does not implement the remove method 36.66/11.32 * and this collection contains one or more elements in common with the 36.66/11.32 * specified collection. 36.66/11.32 * 36.66/11.32 * @throws UnsupportedOperationException {@inheritDoc} 36.66/11.32 * @throws ClassCastException {@inheritDoc} 36.66/11.32 * @throws NullPointerException {@inheritDoc} 36.66/11.32 * 36.66/11.32 * @see #remove(Object) 36.66/11.32 * @see #contains(Object) 36.66/11.32 */ 36.66/11.32 public boolean removeAll(Collection c) { 36.66/11.32 boolean modified = false; 36.66/11.32 Iterator e = iterator(); 36.66/11.32 while (e.hasNext()) { 36.66/11.32 if (c.contains(e.next())) { 36.66/11.32 e.remove(); 36.66/11.32 modified = true; 36.66/11.32 } 36.66/11.32 } 36.66/11.32 return modified; 36.66/11.32 } 36.66/11.32 36.66/11.32 /** 36.66/11.32 * {@inheritDoc} 36.66/11.32 * 36.66/11.32 *

This implementation iterates over this collection, checking each 36.66/11.32 * element returned by the iterator in turn to see if it's contained 36.66/11.32 * in the specified collection. If it's not so contained, it's removed 36.66/11.32 * from this collection with the iterator's remove method. 36.66/11.32 * 36.66/11.32 *

Note that this implementation will throw an 36.66/11.32 * UnsupportedOperationException if the iterator returned by the 36.66/11.32 * iterator method does not implement the remove method 36.66/11.32 * and this collection contains one or more elements not present in the 36.66/11.32 * specified collection. 36.66/11.32 * 36.66/11.32 * @throws UnsupportedOperationException {@inheritDoc} 36.66/11.32 * @throws ClassCastException {@inheritDoc} 36.66/11.32 * @throws NullPointerException {@inheritDoc} 36.66/11.32 * 36.66/11.32 * @see #remove(Object) 36.66/11.32 * @see #contains(Object) 36.66/11.32 */ 36.66/11.32 public boolean retainAll(Collection c) { 36.66/11.32 boolean modified = false; 36.66/11.32 Iterator e = iterator(); 36.66/11.32 while (e.hasNext()) { 36.66/11.32 if (!c.contains(e.next())) { 36.66/11.32 e.remove(); 36.66/11.32 modified = true; 36.66/11.32 } 36.66/11.32 } 36.66/11.32 return modified; 36.66/11.32 } 36.66/11.32 36.66/11.32 /** 36.66/11.32 * {@inheritDoc} 36.66/11.32 * 36.66/11.32 *

This implementation iterates over this collection, removing each 36.66/11.32 * element using the Iterator.remove operation. Most 36.66/11.32 * implementations will probably choose to override this method for 36.66/11.32 * efficiency. 36.66/11.32 * 36.66/11.32 *

Note that this implementation will throw an 36.66/11.32 * UnsupportedOperationException if the iterator returned by this 36.66/11.32 * collection's iterator method does not implement the 36.66/11.32 * remove method and this collection is non-empty. 36.66/11.32 * 36.66/11.32 * @throws UnsupportedOperationException {@inheritDoc} 36.66/11.32 */ 36.66/11.32 public void clear() { 36.66/11.32 Iterator e = iterator(); 36.66/11.32 while (e.hasNext()) { 36.66/11.32 e.next(); 36.66/11.32 e.remove(); 36.66/11.32 } 36.66/11.32 } 36.66/11.32 36.66/11.32 36.66/11.32 // String conversion 36.66/11.32 36.66/11.32 /** 36.66/11.32 * Returns a string representation of this collection. The string 36.66/11.32 * representation consists of a list of the collection's elements in the 36.66/11.32 * order they are returned by its iterator, enclosed in square brackets 36.66/11.32 * ("[]"). Adjacent elements are separated by the characters 36.66/11.32 * ", " (comma and space). Elements are converted to strings as 36.66/11.32 * by {@link String#valueOf(Object)}. 36.66/11.32 * 36.66/11.32 * @return a string representation of this collection 36.66/11.32 */ 36.66/11.32 public String toString() { 36.66/11.32 Iterator i = iterator(); 36.66/11.32 if (! i.hasNext()) 36.66/11.32 return "[]"; 36.66/11.32 36.66/11.32 String sb = ""; 36.66/11.32 sb = sb + "["; 36.66/11.32 for (;;) { 36.66/11.32 E e = i.next(); 36.66/11.32 sb = sb + (e == this ? "(this Collection)" : e); 36.66/11.32 if (! i.hasNext()) { 36.66/11.32 sb = sb + "]"; 36.66/11.32 return sb; 36.66/11.32 } 36.66/11.32 sb = sb + ", "; 36.66/11.32 } 36.66/11.32 } 36.66/11.32 36.66/11.32 } 36.66/11.32 36.66/11.32 36.66/11.32 /* 36.66/11.32 * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 36.66/11.32 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.66/11.32 * 36.66/11.32 * This code is free software; you can redistribute it and/or modify it 36.66/11.32 * under the terms of the GNU General Public License version 2 only, as 36.66/11.32 * published by the Free Software Foundation. Sun designates this 36.66/11.32 * particular file as subject to the "Classpath" exception as provided 36.66/11.32 * by Sun in the LICENSE file that accompanied this code. 36.66/11.32 * 36.66/11.32 * This code is distributed in the hope that it will be useful, but WITHOUT 36.66/11.32 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.66/11.32 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.66/11.32 * version 2 for more details (a copy is included in the LICENSE file that 36.66/11.32 * accompanied this code). 36.66/11.32 * 36.66/11.32 * You should have received a copy of the GNU General Public License version 36.66/11.32 * 2 along with this work; if not, write to the Free Software Foundation, 36.66/11.32 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.66/11.32 * 36.66/11.32 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.66/11.32 * CA 95054 USA or visit www.sun.com if you need additional information or 36.66/11.32 * have any questions. 36.66/11.32 */ 36.66/11.32 36.66/11.32 package javaUtilEx; 36.66/11.32 36.66/11.32 /** 36.66/11.32 * This class provides a skeletal implementation of the {@link List} 36.66/11.32 * interface to minimize the effort required to implement this interface 36.66/11.32 * backed by a "random access" data store (such as an array). For sequential 36.66/11.32 * access data (such as a linked list), {@link AbstractSequentialList} should 36.66/11.32 * be used in preference to this class. 36.66/11.32 * 36.66/11.32 *

To implement an unmodifiable list, the programmer needs only to extend 36.66/11.32 * this class and provide implementations for the {@link #get(int)} and 36.66/11.32 * {@link List#size() size()} methods. 36.66/11.32 * 36.66/11.32 *

To implement a modifiable list, the programmer must additionally 36.66/11.32 * override the {@link #set(int, Object) set(int, E)} method (which otherwise 36.66/11.32 * throws an {@code UnsupportedOperationException}). If the list is 36.66/11.32 * variable-size the programmer must additionally override the 36.66/11.32 * {@link #add(int, Object) add(int, E)} and {@link #remove(int)} methods. 36.66/11.32 * 36.66/11.32 *

The programmer should generally provide a void (no argument) and collection 36.66/11.32 * constructor, as per the recommendation in the {@link Collection} interface 36.66/11.32 * specification. 36.66/11.32 * 36.66/11.32 *

Unlike the other abstract collection implementations, the programmer does 36.66/11.32 * not have to provide an iterator implementation; the iterator and 36.66/11.32 * list iterator are implemented by this class, on top of the "random access" 36.66/11.32 * methods: 36.66/11.32 * {@link #get(int)}, 36.66/11.32 * {@link #set(int, Object) set(int, E)}, 36.66/11.32 * {@link #add(int, Object) add(int, E)} and 36.66/11.32 * {@link #remove(int)}. 36.66/11.32 * 36.66/11.32 *

The documentation for each non-abstract method in this class describes its 36.66/11.32 * implementation in detail. Each of these methods may be overridden if the 36.66/11.32 * collection being implemented admits a more efficient implementation. 36.66/11.32 * 36.66/11.32 *

This class is a member of the 36.66/11.32 * 36.66/11.32 * Java Collections Framework. 36.66/11.32 * 36.66/11.32 * @author Josh Bloch 36.66/11.32 * @author Neal Gafter 36.66/11.32 * @since 1.2 36.66/11.32 */ 36.66/11.32 36.66/11.32 public abstract class AbstractList extends AbstractCollection implements List { 36.66/11.32 /** 36.66/11.32 * Sole constructor. (For invocation by subclass constructors, typically 36.66/11.32 * implicit.) 36.66/11.32 */ 36.66/11.32 protected AbstractList() { 36.66/11.32 } 36.66/11.32 36.66/11.32 /** 36.66/11.32 * Appends the specified element to the end of this list (optional 36.66/11.32 * operation). 36.66/11.32 * 36.66/11.32 *

Lists that support this operation may place limitations on what 36.66/11.32 * elements may be added to this list. In particular, some 36.66/11.32 * lists will refuse to add null elements, and others will impose 36.66/11.32 * restrictions on the type of elements that may be added. List 36.66/11.32 * classes should clearly specify in their documentation any restrictions 36.66/11.32 * on what elements may be added. 36.66/11.32 * 36.66/11.32 *

This implementation calls {@code add(size(), e)}. 36.66/11.32 * 36.66/11.32 *

Note that this implementation throws an 36.66/11.32 * {@code UnsupportedOperationException} unless 36.66/11.32 * {@link #add(int, Object) add(int, E)} is overridden. 36.97/11.32 * 36.97/11.32 * @param e element to be appended to this list 36.97/11.32 * @return {@code true} (as specified by {@link Collection#add}) 36.97/11.32 * @throws UnsupportedOperationException if the {@code add} operation 36.97/11.32 * is not supported by this list 36.97/11.32 * @throws ClassCastException if the class of the specified element 36.97/11.32 * prevents it from being added to this list 36.97/11.32 * @throws NullPointerException if the specified element is null and this 36.97/11.32 * list does not permit null elements 36.97/11.32 * @throws IllegalArgumentException if some property of this element 36.97/11.32 * prevents it from being added to this list 36.97/11.32 */ 36.97/11.32 public boolean add(E e) { 36.97/11.32 add(size(), e); 36.97/11.32 return true; 36.97/11.32 } 36.97/11.32 36.97/11.32 /** 36.97/11.32 * {@inheritDoc} 36.97/11.32 * 36.97/11.32 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.32 */ 36.97/11.32 abstract public E get(int index); 36.97/11.32 36.97/11.32 /** 36.97/11.32 * {@inheritDoc} 36.97/11.32 * 36.97/11.32 *

This implementation always throws an 36.97/11.32 * {@code UnsupportedOperationException}. 36.97/11.32 * 36.97/11.32 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.32 * @throws ClassCastException {@inheritDoc} 36.97/11.32 * @throws NullPointerException {@inheritDoc} 36.97/11.32 * @throws IllegalArgumentException {@inheritDoc} 36.97/11.32 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.32 */ 36.97/11.32 public E set(int index, E element) { 36.97/11.32 throw new UnsupportedOperationException(); 36.97/11.32 } 36.97/11.32 36.97/11.32 /** 36.97/11.32 * {@inheritDoc} 36.97/11.32 * 36.97/11.32 *

This implementation always throws an 36.97/11.32 * {@code UnsupportedOperationException}. 36.97/11.32 * 36.97/11.32 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.32 * @throws ClassCastException {@inheritDoc} 36.97/11.32 * @throws NullPointerException {@inheritDoc} 36.97/11.32 * @throws IllegalArgumentException {@inheritDoc} 36.97/11.32 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.32 */ 36.97/11.32 public void add(int index, E element) { 36.97/11.32 throw new UnsupportedOperationException(); 36.97/11.32 } 36.97/11.32 36.97/11.32 /** 36.97/11.32 * {@inheritDoc} 36.97/11.32 * 36.97/11.32 *

This implementation always throws an 36.97/11.32 * {@code UnsupportedOperationException}. 36.97/11.32 * 36.97/11.32 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.32 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.32 */ 36.97/11.32 public E remove(int index) { 36.97/11.32 throw new UnsupportedOperationException(); 36.97/11.32 } 36.97/11.32 36.97/11.32 36.97/11.32 // Search Operations 36.97/11.32 36.97/11.32 /** 36.97/11.32 * {@inheritDoc} 36.97/11.32 * 36.97/11.32 *

This implementation first gets a list iterator (with 36.97/11.32 * {@code listIterator()}). Then, it iterates over the list until the 36.97/11.32 * specified element is found or the end of the list is reached. 36.97/11.32 * 36.97/11.32 * @throws ClassCastException {@inheritDoc} 36.97/11.32 * @throws NullPointerException {@inheritDoc} 36.97/11.32 */ 36.97/11.32 public int indexOf(Object o) { 36.97/11.32 ListIterator e = listIterator(); 36.97/11.32 if (o==null) { 36.97/11.32 while (e.hasNext()) 36.97/11.32 if (e.next()==null) 36.97/11.32 return e.previousIndex(); 36.97/11.32 } else { 36.97/11.32 while (e.hasNext()) 36.97/11.32 if (o.equals(e.next())) 36.97/11.32 return e.previousIndex(); 36.97/11.32 } 36.97/11.32 return -1; 36.97/11.32 } 36.97/11.32 36.97/11.32 /** 36.97/11.32 * {@inheritDoc} 36.97/11.32 * 36.97/11.32 *

This implementation first gets a list iterator that points to the end 36.97/11.32 * of the list (with {@code listIterator(size())}). Then, it iterates 36.97/11.32 * backwards over the list until the specified element is found, or the 36.97/11.32 * beginning of the list is reached. 36.97/11.32 * 36.97/11.32 * @throws ClassCastException {@inheritDoc} 36.97/11.32 * @throws NullPointerException {@inheritDoc} 36.97/11.32 */ 36.97/11.32 public int lastIndexOf(Object o) { 36.97/11.32 ListIterator e = listIterator(size()); 36.97/11.32 if (o==null) { 36.97/11.32 while (e.hasPrevious()) 36.97/11.32 if (e.previous()==null) 36.97/11.32 return e.nextIndex(); 36.97/11.32 } else { 36.97/11.32 while (e.hasPrevious()) 36.97/11.32 if (o.equals(e.previous())) 36.97/11.32 return e.nextIndex(); 36.97/11.32 } 36.97/11.32 return -1; 36.97/11.32 } 36.97/11.32 36.97/11.32 36.97/11.32 // Bulk Operations 36.97/11.32 36.97/11.32 /** 36.97/11.32 * Removes all of the elements from this list (optional operation). 36.97/11.32 * The list will be empty after this call returns. 36.97/11.32 * 36.97/11.32 *

This implementation calls {@code removeRange(0, size())}. 36.97/11.32 * 36.97/11.32 *

Note that this implementation throws an 36.97/11.32 * {@code UnsupportedOperationException} unless {@code remove(int 36.97/11.32 * index)} or {@code removeRange(int fromIndex, int toIndex)} is 36.97/11.32 * overridden. 36.97/11.32 * 36.97/11.32 * @throws UnsupportedOperationException if the {@code clear} operation 36.97/11.32 * is not supported by this list 36.97/11.32 */ 36.97/11.32 public void clear() { 36.97/11.32 removeRange(0, size()); 36.97/11.32 } 36.97/11.32 36.97/11.32 /** 36.97/11.32 * {@inheritDoc} 36.97/11.32 * 36.97/11.32 *

This implementation gets an iterator over the specified collection 36.97/11.32 * and iterates over it, inserting the elements obtained from the 36.97/11.32 * iterator into this list at the appropriate position, one at a time, 36.97/11.32 * using {@code add(int, E)}. 36.97/11.32 * Many implementations will override this method for efficiency. 36.97/11.32 * 36.97/11.32 *

Note that this implementation throws an 36.97/11.32 * {@code UnsupportedOperationException} unless 36.97/11.32 * {@link #add(int, Object) add(int, E)} is overridden. 36.97/11.32 * 36.97/11.32 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.32 * @throws ClassCastException {@inheritDoc} 36.97/11.32 * @throws NullPointerException {@inheritDoc} 36.97/11.32 * @throws IllegalArgumentException {@inheritDoc} 36.97/11.32 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.32 */ 36.97/11.32 public boolean addAll(int index, Collection c) { 36.97/11.32 rangeCheckForAdd(index); 36.97/11.32 boolean modified = false; 36.97/11.32 Iterator e = c.iterator(); 36.97/11.32 while (e.hasNext()) { 36.97/11.32 add(index++, e.next()); 36.97/11.32 modified = true; 36.97/11.32 } 36.97/11.32 return modified; 36.97/11.32 } 36.97/11.32 36.97/11.32 36.97/11.32 // Iterators 36.97/11.32 36.97/11.32 /** 36.97/11.32 * Returns an iterator over the elements in this list in proper sequence. 36.97/11.32 * 36.97/11.32 *

This implementation returns a straightforward implementation of the 36.97/11.32 * iterator interface, relying on the backing list's {@code size()}, 36.97/11.32 * {@code get(int)}, and {@code remove(int)} methods. 36.97/11.32 * 36.97/11.32 *

Note that the iterator returned by this method will throw an 36.97/11.32 * {@link UnsupportedOperationException} in response to its 36.97/11.32 * {@code remove} method unless the list's {@code remove(int)} method is 36.97/11.32 * overridden. 36.97/11.32 * 36.97/11.32 *

This implementation can be made to throw runtime exceptions in the 36.97/11.32 * face of concurrent modification, as described in the specification 36.97/11.32 * for the (protected) {@link #modCount} field. 36.97/11.32 * 36.97/11.32 * @return an iterator over the elements in this list in proper sequence 36.97/11.32 */ 36.97/11.32 public Iterator iterator() { 36.97/11.32 return new Itr(); 36.97/11.32 } 36.97/11.32 36.97/11.32 /** 36.97/11.32 * {@inheritDoc} 36.97/11.32 * 36.97/11.32 *

This implementation returns {@code listIterator(0)}. 36.97/11.32 * 36.97/11.32 * @see #listIterator(int) 36.97/11.32 */ 36.97/11.32 public ListIterator listIterator() { 36.97/11.32 return listIterator(0); 36.97/11.32 } 36.97/11.32 36.97/11.32 /** 36.97/11.32 * {@inheritDoc} 36.97/11.32 * 36.97/11.32 *

This implementation returns a straightforward implementation of the 36.97/11.32 * {@code ListIterator} interface that extends the implementation of the 36.97/11.32 * {@code Iterator} interface returned by the {@code iterator()} method. 36.97/11.32 * The {@code ListIterator} implementation relies on the backing list's 36.97/11.32 * {@code get(int)}, {@code set(int, E)}, {@code add(int, E)} 36.97/11.32 * and {@code remove(int)} methods. 36.97/11.32 * 36.97/11.32 *

Note that the list iterator returned by this implementation will 36.97/11.32 * throw an {@link UnsupportedOperationException} in response to its 36.97/11.32 * {@code remove}, {@code set} and {@code add} methods unless the 36.97/11.32 * list's {@code remove(int)}, {@code set(int, E)}, and 36.97/11.32 * {@code add(int, E)} methods are overridden. 36.97/11.32 * 36.97/11.32 *

This implementation can be made to throw runtime exceptions in the 36.97/11.32 * face of concurrent modification, as described in the specification for 36.97/11.32 * the (protected) {@link #modCount} field. 36.97/11.32 * 36.97/11.32 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.32 */ 36.97/11.32 public ListIterator listIterator(final int index) { 36.97/11.32 rangeCheckForAdd(index); 36.97/11.32 36.97/11.32 return new ListItr(index); 36.97/11.32 } 36.97/11.32 36.97/11.32 private class Itr implements Iterator { 36.97/11.32 /** 36.97/11.32 * Index of element to be returned by subsequent call to next. 36.97/11.32 */ 36.97/11.32 int cursor = 0; 36.97/11.32 36.97/11.32 /** 36.97/11.32 * Index of element returned by most recent call to next or 36.97/11.32 * previous. Reset to -1 if this element is deleted by a call 36.97/11.32 * to remove. 36.97/11.32 */ 36.97/11.32 int lastRet = -1; 36.97/11.32 36.97/11.32 /** 36.97/11.32 * The modCount value that the iterator believes that the backing 36.97/11.32 * List should have. If this expectation is violated, the iterator 36.97/11.32 * has detected concurrent modification. 36.97/11.32 */ 36.97/11.32 int expectedModCount = modCount; 36.97/11.32 36.97/11.32 public boolean hasNext() { 36.97/11.32 return cursor != size(); 36.97/11.32 } 36.97/11.32 36.97/11.32 public E next() { 36.97/11.32 checkForComodification(); 36.97/11.32 try { 36.97/11.32 int i = cursor; 36.97/11.32 E next = get(i); 36.97/11.32 lastRet = i; 36.97/11.32 cursor = i + 1; 36.97/11.32 return next; 36.97/11.32 } catch (IndexOutOfBoundsException e) { 36.97/11.32 checkForComodification(); 36.97/11.32 throw new NoSuchElementException(); 36.97/11.32 } 36.97/11.32 } 36.97/11.32 36.97/11.32 public void remove() { 36.97/11.32 if (lastRet < 0) 36.97/11.32 throw new IllegalStateException(); 36.97/11.32 checkForComodification(); 36.97/11.32 36.97/11.32 try { 36.97/11.32 AbstractList.this.remove(lastRet); 36.97/11.32 if (lastRet < cursor) 36.97/11.32 cursor--; 36.97/11.32 lastRet = -1; 36.97/11.32 expectedModCount = modCount; 36.97/11.32 } catch (IndexOutOfBoundsException e) { 36.97/11.32 throw new ConcurrentModificationException(); 36.97/11.32 } 36.97/11.32 } 36.97/11.32 36.97/11.32 final void checkForComodification() { 36.97/11.32 if (modCount != expectedModCount) 36.97/11.32 throw new ConcurrentModificationException(); 36.97/11.32 } 36.97/11.32 } 36.97/11.32 36.97/11.32 private class ListItr extends Itr implements ListIterator { 36.97/11.32 ListItr(int index) { 36.97/11.32 cursor = index; 36.97/11.32 } 36.97/11.32 36.97/11.32 public boolean hasPrevious() { 36.97/11.32 return cursor != 0; 36.97/11.32 } 36.97/11.32 36.97/11.32 public E previous() { 36.97/11.32 checkForComodification(); 36.97/11.32 try { 36.97/11.32 int i = cursor - 1; 36.97/11.32 E previous = get(i); 36.97/11.32 lastRet = cursor = i; 36.97/11.32 return previous; 36.97/11.32 } catch (IndexOutOfBoundsException e) { 36.97/11.32 checkForComodification(); 36.97/11.32 throw new NoSuchElementException(); 36.97/11.32 } 36.97/11.32 } 36.97/11.32 36.97/11.32 public int nextIndex() { 36.97/11.32 return cursor; 36.97/11.32 } 36.97/11.32 36.97/11.32 public int previousIndex() { 36.97/11.32 return cursor-1; 36.97/11.32 } 36.97/11.32 36.97/11.32 public void set(E e) { 36.97/11.32 if (lastRet < 0) 36.97/11.32 throw new IllegalStateException(); 36.97/11.32 checkForComodification(); 36.97/11.32 36.97/11.32 try { 36.97/11.32 AbstractList.this.set(lastRet, e); 36.97/11.32 expectedModCount = modCount; 36.97/11.32 } catch (IndexOutOfBoundsException ex) { 36.97/11.32 throw new ConcurrentModificationException(); 36.97/11.32 } 36.97/11.32 } 36.97/11.32 36.97/11.32 public void add(E e) { 36.97/11.32 checkForComodification(); 36.97/11.32 36.97/11.32 try { 36.97/11.32 int i = cursor; 36.97/11.32 AbstractList.this.add(i, e); 36.97/11.32 lastRet = -1; 36.97/11.32 cursor = i + 1; 36.97/11.32 expectedModCount = modCount; 36.97/11.32 } catch (IndexOutOfBoundsException ex) { 36.97/11.32 throw new ConcurrentModificationException(); 36.97/11.32 } 36.97/11.32 } 36.97/11.32 } 36.97/11.32 36.97/11.32 /** 36.97/11.32 * {@inheritDoc} 36.97/11.32 * 36.97/11.32 *

This implementation returns a list that subclasses 36.97/11.32 * {@code AbstractList}. The subclass stores, in private fields, the 36.97/11.32 * offset of the subList within the backing list, the size of the subList 36.97/11.32 * (which can change over its lifetime), and the expected 36.97/11.32 * {@code modCount} value of the backing list. There are two variants 36.97/11.32 * of the subclass, one of which implements {@code RandomAccess}. 36.97/11.32 * If this list implements {@code RandomAccess} the returned list will 36.97/11.32 * be an instance of the subclass that implements {@code RandomAccess}. 36.97/11.32 * 36.97/11.32 *

The subclass's {@code set(int, E)}, {@code get(int)}, 36.97/11.32 * {@code add(int, E)}, {@code remove(int)}, {@code addAll(int, 36.97/11.32 * Collection)} and {@code removeRange(int, int)} methods all 36.97/11.32 * delegate to the corresponding methods on the backing abstract list, 36.97/11.32 * after bounds-checking the index and adjusting for the offset. The 36.97/11.32 * {@code addAll(Collection c)} method merely returns {@code addAll(size, 36.97/11.32 * c)}. 36.97/11.32 * 36.97/11.32 *

The {@code listIterator(int)} method returns a "wrapper object" 36.97/11.32 * over a list iterator on the backing list, which is created with the 36.97/11.32 * corresponding method on the backing list. The {@code iterator} method 36.97/11.32 * merely returns {@code listIterator()}, and the {@code size} method 36.97/11.32 * merely returns the subclass's {@code size} field. 36.97/11.32 * 36.97/11.32 *

All methods first check to see if the actual {@code modCount} of 36.97/11.32 * the backing list is equal to its expected value, and throw a 36.97/11.32 * {@code ConcurrentModificationException} if it is not. 36.97/11.32 * 36.97/11.32 * @throws IndexOutOfBoundsException if an endpoint index value is out of range 36.97/11.32 * {@code (fromIndex < 0 || toIndex > size)} 36.97/11.32 * @throws IllegalArgumentException if the endpoint indices are out of order 36.97/11.32 * {@code (fromIndex > toIndex)} 36.97/11.32 */ 36.97/11.32 public List subList(int fromIndex, int toIndex) { 36.97/11.32 return (this instanceof RandomAccess ? 36.97/11.32 new RandomAccessSubList(this, fromIndex, toIndex) : 36.97/11.32 new SubList(this, fromIndex, toIndex)); 36.97/11.32 } 36.97/11.32 36.97/11.32 // Comparison and hashing 36.97/11.32 36.97/11.32 /** 36.97/11.32 * Compares the specified object with this list for equality. Returns 36.97/11.32 * {@code true} if and only if the specified object is also a list, both 36.97/11.32 * lists have the same size, and all corresponding pairs of elements in 36.97/11.32 * the two lists are equal. (Two elements {@code e1} and 36.97/11.32 * {@code e2} are equal if {@code (e1==null ? e2==null : 36.97/11.32 * e1.equals(e2))}.) In other words, two lists are defined to be 36.97/11.32 * equal if they contain the same elements in the same order.

36.97/11.32 * 36.97/11.32 * This implementation first checks if the specified object is this 36.97/11.32 * list. If so, it returns {@code true}; if not, it checks if the 36.97/11.32 * specified object is a list. If not, it returns {@code false}; if so, 36.97/11.32 * it iterates over both lists, comparing corresponding pairs of elements. 36.97/11.32 * If any comparison returns {@code false}, this method returns 36.97/11.32 * {@code false}. If either iterator runs out of elements before the 36.97/11.32 * other it returns {@code false} (as the lists are of unequal length); 36.97/11.32 * otherwise it returns {@code true} when the iterations complete. 36.97/11.32 * 36.97/11.32 * @param o the object to be compared for equality with this list 36.97/11.32 * @return {@code true} if the specified object is equal to this list 36.97/11.32 */ 36.97/11.32 public boolean equals(Object o) { 36.97/11.32 if (o == this) 36.97/11.32 return true; 36.97/11.32 if (!(o instanceof List)) 36.97/11.32 return false; 36.97/11.32 36.97/11.32 ListIterator e1 = listIterator(); 36.97/11.32 ListIterator e2 = ((List) o).listIterator(); 36.97/11.32 while(e1.hasNext() && e2.hasNext()) { 36.97/11.32 E o1 = e1.next(); 36.97/11.32 Object o2 = e2.next(); 36.97/11.32 if (!(o1==null ? o2==null : o1.equals(o2))) 36.97/11.32 return false; 36.97/11.32 } 36.97/11.32 return !(e1.hasNext() || e2.hasNext()); 36.97/11.32 } 36.97/11.32 36.97/11.32 /** 36.97/11.32 * Returns the hash code value for this list. 36.97/11.32 * 36.97/11.32 *

This implementation uses exactly the code that is used to define the 36.97/11.32 * list hash function in the documentation for the {@link List#hashCode} 36.97/11.32 * method. 36.97/11.32 * 36.97/11.32 * @return the hash code value for this list 36.97/11.32 */ 36.97/11.32 public int hashCode() { 36.97/11.32 int hashCode = 1; 36.97/11.32 Iterator it = this.iterator(); 36.97/11.32 while (it.hasNext()) { 36.97/11.32 E e = it.next(); 36.97/11.32 hashCode = 31*hashCode + (e==null ? 0 : e.hashCode()); 36.97/11.32 } 36.97/11.32 return hashCode; 36.97/11.32 } 36.97/11.32 36.97/11.32 /** 36.97/11.32 * Removes from this list all of the elements whose index is between 36.97/11.32 * {@code fromIndex}, inclusive, and {@code toIndex}, exclusive. 36.97/11.32 * Shifts any succeeding elements to the left (reduces their index). 36.97/11.32 * This call shortens the list by {@code (toIndex - fromIndex)} elements. 36.97/11.32 * (If {@code toIndex==fromIndex}, this operation has no effect.) 36.97/11.32 * 36.97/11.32 *

This method is called by the {@code clear} operation on this list 36.97/11.32 * and its subLists. Overriding this method to take advantage of 36.97/11.32 * the internals of the list implementation can substantially 36.97/11.32 * improve the performance of the {@code clear} operation on this list 36.97/11.32 * and its subLists. 36.97/11.32 * 36.97/11.32 *

This implementation gets a list iterator positioned before 36.97/11.32 * {@code fromIndex}, and repeatedly calls {@code ListIterator.next} 36.97/11.32 * followed by {@code ListIterator.remove} until the entire range has 36.97/11.32 * been removed. Note: if {@code ListIterator.remove} requires linear 36.97/11.32 * time, this implementation requires quadratic time. 36.97/11.32 * 36.97/11.32 * @param fromIndex index of first element to be removed 36.97/11.32 * @param toIndex index after last element to be removed 36.97/11.32 */ 36.97/11.32 protected void removeRange(int fromIndex, int toIndex) { 36.97/11.32 ListIterator it = listIterator(fromIndex); 36.97/11.32 for (int i=0, n=toIndex-fromIndex; istructurally modified. 36.97/11.32 * Structural modifications are those that change the size of the 36.97/11.32 * list, or otherwise perturb it in such a fashion that iterations in 36.97/11.32 * progress may yield incorrect results. 36.97/11.32 * 36.97/11.32 *

This field is used by the iterator and list iterator implementation 36.97/11.32 * returned by the {@code iterator} and {@code listIterator} methods. 36.97/11.32 * If the value of this field changes unexpectedly, the iterator (or list 36.97/11.32 * iterator) will throw a {@code ConcurrentModificationException} in 36.97/11.32 * response to the {@code next}, {@code remove}, {@code previous}, 36.97/11.32 * {@code set} or {@code add} operations. This provides 36.97/11.32 * fail-fast behavior, rather than non-deterministic behavior in 36.97/11.32 * the face of concurrent modification during iteration. 36.97/11.32 * 36.97/11.32 *

Use of this field by subclasses is optional. If a subclass 36.97/11.32 * wishes to provide fail-fast iterators (and list iterators), then it 36.97/11.32 * merely has to increment this field in its {@code add(int, E)} and 36.97/11.33 * {@code remove(int)} methods (and any other methods that it overrides 36.97/11.33 * that result in structural modifications to the list). A single call to 36.97/11.33 * {@code add(int, E)} or {@code remove(int)} must add no more than 36.97/11.33 * one to this field, or the iterators (and list iterators) will throw 36.97/11.33 * bogus {@code ConcurrentModificationExceptions}. If an implementation 36.97/11.33 * does not wish to provide fail-fast iterators, this field may be 36.97/11.33 * ignored. 36.97/11.33 */ 36.97/11.33 protected transient int modCount = 0; 36.97/11.33 36.97/11.33 private void rangeCheckForAdd(int index) { 36.97/11.33 if (index < 0 || index > size()) 36.97/11.33 throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); 36.97/11.33 } 36.97/11.33 36.97/11.33 private String outOfBoundsMsg(int index) { 36.97/11.33 return ""; 36.97/11.33 } 36.97/11.33 } 36.97/11.33 36.97/11.33 class SubList extends AbstractList { 36.97/11.33 private final AbstractList l; 36.97/11.33 private final int offset; 36.97/11.33 private int size; 36.97/11.33 36.97/11.33 SubList(AbstractList list, int fromIndex, int toIndex) { 36.97/11.33 if (fromIndex < 0) 36.97/11.33 throw new IndexOutOfBoundsException(); 36.97/11.33 if (toIndex > list.size()) 36.97/11.33 throw new IndexOutOfBoundsException(); 36.97/11.33 if (fromIndex > toIndex) 36.97/11.33 throw new IllegalArgumentException(); 36.97/11.33 l = list; 36.97/11.33 offset = fromIndex; 36.97/11.33 size = toIndex - fromIndex; 36.97/11.33 this.modCount = l.modCount; 36.97/11.33 } 36.97/11.33 36.97/11.33 public E set(int index, E element) { 36.97/11.33 rangeCheck(index); 36.97/11.33 checkForComodification(); 36.97/11.33 return l.set(index+offset, element); 36.97/11.33 } 36.97/11.33 36.97/11.33 public E get(int index) { 36.97/11.33 rangeCheck(index); 36.97/11.33 checkForComodification(); 36.97/11.33 return l.get(index+offset); 36.97/11.33 } 36.97/11.33 36.97/11.33 public int size() { 36.97/11.33 checkForComodification(); 36.97/11.33 return size; 36.97/11.33 } 36.97/11.33 36.97/11.33 public void add(int index, E element) { 36.97/11.33 rangeCheckForAdd(index); 36.97/11.33 checkForComodification(); 36.97/11.33 l.add(index+offset, element); 36.97/11.33 this.modCount = l.modCount; 36.97/11.33 size++; 36.97/11.33 } 36.97/11.33 36.97/11.33 public E remove(int index) { 36.97/11.33 rangeCheck(index); 36.97/11.33 checkForComodification(); 36.97/11.33 E result = l.remove(index+offset); 36.97/11.33 this.modCount = l.modCount; 36.97/11.33 size--; 36.97/11.33 return result; 36.97/11.33 } 36.97/11.33 36.97/11.33 protected void removeRange(int fromIndex, int toIndex) { 36.97/11.33 checkForComodification(); 36.97/11.33 l.removeRange(fromIndex+offset, toIndex+offset); 36.97/11.33 this.modCount = l.modCount; 36.97/11.33 size -= (toIndex-fromIndex); 36.97/11.33 } 36.97/11.33 36.97/11.33 public boolean addAll(Collection c) { 36.97/11.33 return addAll(size, c); 36.97/11.33 } 36.97/11.33 36.97/11.33 public boolean addAll(int index, Collection c) { 36.97/11.33 rangeCheckForAdd(index); 36.97/11.33 int cSize = c.size(); 36.97/11.33 if (cSize==0) 36.97/11.33 return false; 36.97/11.33 36.97/11.33 checkForComodification(); 36.97/11.33 l.addAll(offset+index, c); 36.97/11.33 this.modCount = l.modCount; 36.97/11.33 size += cSize; 36.97/11.33 return true; 36.97/11.33 } 36.97/11.33 36.97/11.33 public Iterator iterator() { 36.97/11.33 return listIterator(); 36.97/11.33 } 36.97/11.33 36.97/11.33 public ListIterator listIterator(final int index) { 36.97/11.33 checkForComodification(); 36.97/11.33 rangeCheckForAdd(index); 36.97/11.33 36.97/11.33 return new ListIterator() { 36.97/11.33 private final ListIterator i = l.listIterator(index+offset); 36.97/11.33 36.97/11.33 public boolean hasNext() { 36.97/11.33 return nextIndex() < size; 36.97/11.33 } 36.97/11.33 36.97/11.33 public E next() { 36.97/11.33 if (hasNext()) 36.97/11.33 return i.next(); 36.97/11.33 else 36.97/11.33 throw new NoSuchElementException(); 36.97/11.33 } 36.97/11.33 36.97/11.33 public boolean hasPrevious() { 36.97/11.33 return previousIndex() >= 0; 36.97/11.33 } 36.97/11.33 36.97/11.33 public E previous() { 36.97/11.33 if (hasPrevious()) 36.97/11.33 return i.previous(); 36.97/11.33 else 36.97/11.33 throw new NoSuchElementException(); 36.97/11.33 } 36.97/11.33 36.97/11.33 public int nextIndex() { 36.97/11.33 return i.nextIndex() - offset; 36.97/11.33 } 36.97/11.33 36.97/11.33 public int previousIndex() { 36.97/11.33 return i.previousIndex() - offset; 36.97/11.33 } 36.97/11.33 36.97/11.33 public void remove() { 36.97/11.33 i.remove(); 36.97/11.33 SubList.this.modCount = l.modCount; 36.97/11.33 size--; 36.97/11.33 } 36.97/11.33 36.97/11.33 public void set(E e) { 36.97/11.33 i.set(e); 36.97/11.33 } 36.97/11.33 36.97/11.33 public void add(E e) { 36.97/11.33 i.add(e); 36.97/11.33 SubList.this.modCount = l.modCount; 36.97/11.33 size++; 36.97/11.33 } 36.97/11.33 }; 36.97/11.33 } 36.97/11.33 36.97/11.33 public List subList(int fromIndex, int toIndex) { 36.97/11.33 return new SubList(this, fromIndex, toIndex); 36.97/11.33 } 36.97/11.33 36.97/11.33 private void rangeCheck(int index) { 36.97/11.33 if (index < 0 || index >= size) 36.97/11.33 throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); 36.97/11.33 } 36.97/11.33 36.97/11.33 private void rangeCheckForAdd(int index) { 36.97/11.33 if (index < 0 || index > size) 36.97/11.33 throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); 36.97/11.33 } 36.97/11.33 36.97/11.33 private String outOfBoundsMsg(int index) { 36.97/11.33 return ""; 36.97/11.33 } 36.97/11.33 36.97/11.33 private void checkForComodification() { 36.97/11.33 if (this.modCount != l.modCount) 36.97/11.33 throw new ConcurrentModificationException(); 36.97/11.33 } 36.97/11.33 } 36.97/11.33 36.97/11.33 class RandomAccessSubList extends SubList implements RandomAccess { 36.97/11.33 RandomAccessSubList(AbstractList list, int fromIndex, int toIndex) { 36.97/11.33 super(list, fromIndex, toIndex); 36.97/11.33 } 36.97/11.33 36.97/11.33 public List subList(int fromIndex, int toIndex) { 36.97/11.33 return new RandomAccessSubList(this, fromIndex, toIndex); 36.97/11.33 } 36.97/11.33 } 36.97/11.33 36.97/11.33 36.97/11.33 /* 36.97/11.33 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.33 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.33 * 36.97/11.33 * This code is free software; you can redistribute it and/or modify it 36.97/11.33 * under the terms of the GNU General Public License version 2 only, as 36.97/11.33 * published by the Free Software Foundation. Sun designates this 36.97/11.33 * particular file as subject to the "Classpath" exception as provided 36.97/11.33 * by Sun in the LICENSE file that accompanied this code. 36.97/11.33 * 36.97/11.33 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.33 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.33 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.33 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.33 * accompanied this code). 36.97/11.33 * 36.97/11.33 * You should have received a copy of the GNU General Public License version 36.97/11.33 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.33 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.33 * 36.97/11.33 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.33 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.33 * have any questions. 36.97/11.33 */ 36.97/11.33 36.97/11.33 package javaUtilEx; 36.97/11.33 36.97/11.33 /** 36.97/11.33 * This class provides a skeletal implementation of the List 36.97/11.33 * interface to minimize the effort required to implement this interface 36.97/11.33 * backed by a "sequential access" data store (such as a linked list). For 36.97/11.33 * random access data (such as an array), AbstractList should be used 36.97/11.33 * in preference to this class.

36.97/11.33 * 36.97/11.33 * This class is the opposite of the AbstractList class in the sense 36.97/11.33 * that it implements the "random access" methods (get(int index), 36.97/11.33 * set(int index, E element), add(int index, E element) and 36.97/11.33 * remove(int index)) on top of the list's list iterator, instead of 36.97/11.33 * the other way around.

36.97/11.33 * 36.97/11.33 * To implement a list the programmer needs only to extend this class and 36.97/11.33 * provide implementations for the listIterator and size 36.97/11.33 * methods. For an unmodifiable list, the programmer need only implement the 36.97/11.33 * list iterator's hasNext, next, hasPrevious, 36.97/11.33 * previous and index methods.

36.97/11.33 * 36.97/11.33 * For a modifiable list the programmer should additionally implement the list 36.97/11.33 * iterator's set method. For a variable-size list the programmer 36.97/11.33 * should additionally implement the list iterator's remove and 36.97/11.33 * add methods.

36.97/11.33 * 36.97/11.33 * The programmer should generally provide a void (no argument) and collection 36.97/11.33 * constructor, as per the recommendation in the Collection interface 36.97/11.33 * specification.

36.97/11.33 * 36.97/11.33 * This class is a member of the 36.97/11.33 * 36.97/11.33 * Java Collections Framework. 36.97/11.33 * 36.97/11.33 * @author Josh Bloch 36.97/11.33 * @author Neal Gafter 36.97/11.33 * @see Collection 36.97/11.33 * @see List 36.97/11.33 * @see AbstractList 36.97/11.33 * @see AbstractCollection 36.97/11.33 * @since 1.2 36.97/11.33 */ 36.97/11.33 36.97/11.33 public abstract class AbstractSequentialList extends AbstractList { 36.97/11.33 /** 36.97/11.33 * Sole constructor. (For invocation by subclass constructors, typically 36.97/11.33 * implicit.) 36.97/11.33 */ 36.97/11.33 protected AbstractSequentialList() { 36.97/11.33 } 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Returns the element at the specified position in this list. 36.97/11.33 * 36.97/11.33 *

This implementation first gets a list iterator pointing to the 36.97/11.33 * indexed element (with listIterator(index)). Then, it gets 36.97/11.33 * the element using ListIterator.next and returns it. 36.97/11.33 * 36.97/11.33 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.33 */ 36.97/11.33 public E get(int index) { 36.97/11.33 try { 36.97/11.33 return listIterator(index).next(); 36.97/11.33 } catch (NoSuchElementException exc) { 36.97/11.33 throw new IndexOutOfBoundsException(); 36.97/11.33 } 36.97/11.33 } 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Replaces the element at the specified position in this list with the 36.97/11.33 * specified element (optional operation). 36.97/11.33 * 36.97/11.33 *

This implementation first gets a list iterator pointing to the 36.97/11.33 * indexed element (with listIterator(index)). Then, it gets 36.97/11.33 * the current element using ListIterator.next and replaces it 36.97/11.33 * with ListIterator.set. 36.97/11.33 * 36.97/11.33 *

Note that this implementation will throw an 36.97/11.33 * UnsupportedOperationException if the list iterator does not 36.97/11.33 * implement the set operation. 36.97/11.33 * 36.97/11.33 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.33 * @throws ClassCastException {@inheritDoc} 36.97/11.33 * @throws NullPointerException {@inheritDoc} 36.97/11.33 * @throws IllegalArgumentException {@inheritDoc} 36.97/11.33 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.33 */ 36.97/11.33 public E set(int index, E element) { 36.97/11.33 try { 36.97/11.33 ListIterator e = listIterator(index); 36.97/11.33 E oldVal = e.next(); 36.97/11.33 e.set(element); 36.97/11.33 return oldVal; 36.97/11.33 } catch (NoSuchElementException exc) { 36.97/11.33 throw new IndexOutOfBoundsException(); 36.97/11.33 } 36.97/11.33 } 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Inserts the specified element at the specified position in this list 36.97/11.33 * (optional operation). Shifts the element currently at that position 36.97/11.33 * (if any) and any subsequent elements to the right (adds one to their 36.97/11.33 * indices). 36.97/11.33 * 36.97/11.33 *

This implementation first gets a list iterator pointing to the 36.97/11.33 * indexed element (with listIterator(index)). Then, it 36.97/11.33 * inserts the specified element with ListIterator.add. 36.97/11.33 * 36.97/11.33 *

Note that this implementation will throw an 36.97/11.33 * UnsupportedOperationException if the list iterator does not 36.97/11.33 * implement the add operation. 36.97/11.33 * 36.97/11.33 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.33 * @throws ClassCastException {@inheritDoc} 36.97/11.33 * @throws NullPointerException {@inheritDoc} 36.97/11.33 * @throws IllegalArgumentException {@inheritDoc} 36.97/11.33 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.33 */ 36.97/11.33 public void add(int index, E element) { 36.97/11.33 try { 36.97/11.33 listIterator(index).add(element); 36.97/11.33 } catch (NoSuchElementException exc) { 36.97/11.33 throw new IndexOutOfBoundsException(); 36.97/11.33 } 36.97/11.33 } 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Removes the element at the specified position in this list (optional 36.97/11.33 * operation). Shifts any subsequent elements to the left (subtracts one 36.97/11.33 * from their indices). Returns the element that was removed from the 36.97/11.33 * list. 36.97/11.33 * 36.97/11.33 *

This implementation first gets a list iterator pointing to the 36.97/11.33 * indexed element (with listIterator(index)). Then, it removes 36.97/11.33 * the element with ListIterator.remove. 36.97/11.33 * 36.97/11.33 *

Note that this implementation will throw an 36.97/11.33 * UnsupportedOperationException if the list iterator does not 36.97/11.33 * implement the remove operation. 36.97/11.33 * 36.97/11.33 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.33 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.33 */ 36.97/11.33 public E remove(int index) { 36.97/11.33 try { 36.97/11.33 ListIterator e = listIterator(index); 36.97/11.33 E outCast = e.next(); 36.97/11.33 e.remove(); 36.97/11.33 return outCast; 36.97/11.33 } catch (NoSuchElementException exc) { 36.97/11.33 throw new IndexOutOfBoundsException(); 36.97/11.33 } 36.97/11.33 } 36.97/11.33 36.97/11.33 36.97/11.33 // Bulk Operations 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Inserts all of the elements in the specified collection into this 36.97/11.33 * list at the specified position (optional operation). Shifts the 36.97/11.33 * element currently at that position (if any) and any subsequent 36.97/11.33 * elements to the right (increases their indices). The new elements 36.97/11.33 * will appear in this list in the order that they are returned by the 36.97/11.33 * specified collection's iterator. The behavior of this operation is 36.97/11.33 * undefined if the specified collection is modified while the 36.97/11.33 * operation is in progress. (Note that this will occur if the specified 36.97/11.33 * collection is this list, and it's nonempty.) 36.97/11.33 * 36.97/11.33 *

This implementation gets an iterator over the specified collection and 36.97/11.33 * a list iterator over this list pointing to the indexed element (with 36.97/11.33 * listIterator(index)). Then, it iterates over the specified 36.97/11.33 * collection, inserting the elements obtained from the iterator into this 36.97/11.33 * list, one at a time, using ListIterator.add followed by 36.97/11.33 * ListIterator.next (to skip over the added element). 36.97/11.33 * 36.97/11.33 *

Note that this implementation will throw an 36.97/11.33 * UnsupportedOperationException if the list iterator returned by 36.97/11.33 * the listIterator method does not implement the add 36.97/11.33 * operation. 36.97/11.33 * 36.97/11.33 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.33 * @throws ClassCastException {@inheritDoc} 36.97/11.33 * @throws NullPointerException {@inheritDoc} 36.97/11.33 * @throws IllegalArgumentException {@inheritDoc} 36.97/11.33 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.33 */ 36.97/11.33 public boolean addAll(int index, Collection c) { 36.97/11.33 try { 36.97/11.33 boolean modified = false; 36.97/11.33 ListIterator e1 = listIterator(index); 36.97/11.33 Iterator e2 = c.iterator(); 36.97/11.33 while (e2.hasNext()) { 36.97/11.33 e1.add(e2.next()); 36.97/11.33 modified = true; 36.97/11.33 } 36.97/11.33 return modified; 36.97/11.33 } catch (NoSuchElementException exc) { 36.97/11.33 throw new IndexOutOfBoundsException(); 36.97/11.33 } 36.97/11.33 } 36.97/11.33 36.97/11.33 36.97/11.33 // Iterators 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Returns an iterator over the elements in this list (in proper 36.97/11.33 * sequence).

36.97/11.33 * 36.97/11.33 * This implementation merely returns a list iterator over the list. 36.97/11.33 * 36.97/11.33 * @return an iterator over the elements in this list (in proper sequence) 36.97/11.33 */ 36.97/11.33 public Iterator iterator() { 36.97/11.33 return listIterator(); 36.97/11.33 } 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Returns a list iterator over the elements in this list (in proper 36.97/11.33 * sequence). 36.97/11.33 * 36.97/11.33 * @param index index of first element to be returned from the list 36.97/11.33 * iterator (by a call to the next method) 36.97/11.33 * @return a list iterator over the elements in this list (in proper 36.97/11.33 * sequence) 36.97/11.33 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.33 */ 36.97/11.33 public abstract ListIterator listIterator(int index); 36.97/11.33 } 36.97/11.33 36.97/11.33 36.97/11.33 /* 36.97/11.33 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.33 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.33 * 36.97/11.33 * This code is free software; you can redistribute it and/or modify it 36.97/11.33 * under the terms of the GNU General Public License version 2 only, as 36.97/11.33 * published by the Free Software Foundation. Sun designates this 36.97/11.33 * particular file as subject to the "Classpath" exception as provided 36.97/11.33 * by Sun in the LICENSE file that accompanied this code. 36.97/11.33 * 36.97/11.33 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.33 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.33 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.33 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.33 * accompanied this code). 36.97/11.33 * 36.97/11.33 * You should have received a copy of the GNU General Public License version 36.97/11.33 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.33 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.33 * 36.97/11.33 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.33 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.33 * have any questions. 36.97/11.33 */ 36.97/11.33 36.97/11.33 package javaUtilEx; 36.97/11.33 36.97/11.33 /** 36.97/11.33 * The root interface in the collection hierarchy. A collection 36.97/11.33 * represents a group of objects, known as its elements. Some 36.97/11.33 * collections allow duplicate elements and others do not. Some are ordered 36.97/11.33 * and others unordered. The JDK does not provide any direct 36.97/11.33 * implementations of this interface: it provides implementations of more 36.97/11.33 * specific subinterfaces like Set and List. This interface 36.97/11.33 * is typically used to pass collections around and manipulate them where 36.97/11.33 * maximum generality is desired. 36.97/11.33 * 36.97/11.33 *

Bags or multisets (unordered collections that may contain 36.97/11.33 * duplicate elements) should implement this interface directly. 36.97/11.33 * 36.97/11.33 *

All general-purpose Collection implementation classes (which 36.97/11.33 * typically implement Collection indirectly through one of its 36.97/11.33 * subinterfaces) should provide two "standard" constructors: a void (no 36.97/11.33 * arguments) constructor, which creates an empty collection, and a 36.97/11.33 * constructor with a single argument of type Collection, which 36.97/11.33 * creates a new collection with the same elements as its argument. In 36.97/11.33 * effect, the latter constructor allows the user to copy any collection, 36.97/11.33 * producing an equivalent collection of the desired implementation type. 36.97/11.33 * There is no way to enforce this convention (as interfaces cannot contain 36.97/11.33 * constructors) but all of the general-purpose Collection 36.97/11.33 * implementations in the Java platform libraries comply. 36.97/11.33 * 36.97/11.33 *

The "destructive" methods contained in this interface, that is, the 36.97/11.33 * methods that modify the collection on which they operate, are specified to 36.97/11.33 * throw UnsupportedOperationException if this collection does not 36.97/11.33 * support the operation. If this is the case, these methods may, but are not 36.97/11.33 * required to, throw an UnsupportedOperationException if the 36.97/11.33 * invocation would have no effect on the collection. For example, invoking 36.97/11.33 * the {@link #addAll(Collection)} method on an unmodifiable collection may, 36.97/11.33 * but is not required to, throw the exception if the collection to be added 36.97/11.33 * is empty. 36.97/11.33 * 36.97/11.33 *

Some collection implementations have restrictions on the elements that 36.97/11.33 * they may contain. For example, some implementations prohibit null elements, 36.97/11.33 * and some have restrictions on the types of their elements. Attempting to 36.97/11.33 * add an ineligible element throws an unchecked exception, typically 36.97/11.33 * NullPointerException or ClassCastException. Attempting 36.97/11.33 * to query the presence of an ineligible element may throw an exception, 36.97/11.33 * or it may simply return false; some implementations will exhibit the former 36.97/11.33 * behavior and some will exhibit the latter. More generally, attempting an 36.97/11.33 * operation on an ineligible element whose completion would not result in 36.97/11.33 * the insertion of an ineligible element into the collection may throw an 36.97/11.33 * exception or it may succeed, at the option of the implementation. 36.97/11.33 * Such exceptions are marked as "optional" in the specification for this 36.97/11.33 * interface. 36.97/11.33 * 36.97/11.33 *

It is up to each collection to determine its own synchronization 36.97/11.33 * policy. In the absence of a stronger guarantee by the 36.97/11.33 * implementation, undefined behavior may result from the invocation 36.97/11.33 * of any method on a collection that is being mutated by another 36.97/11.33 * thread; this includes direct invocations, passing the collection to 36.97/11.33 * a method that might perform invocations, and using an existing 36.97/11.33 * iterator to examine the collection. 36.97/11.33 * 36.97/11.33 *

Many methods in Collections Framework interfaces are defined in 36.97/11.33 * terms of the {@link Object#equals(Object) equals} method. For example, 36.97/11.33 * the specification for the {@link #contains(Object) contains(Object o)} 36.97/11.33 * method says: "returns true if and only if this collection 36.97/11.33 * contains at least one element e such that 36.97/11.33 * (o==null ? e==null : o.equals(e))." This specification should 36.97/11.33 * not be construed to imply that invoking Collection.contains 36.97/11.33 * with a non-null argument o will cause o.equals(e) to be 36.97/11.33 * invoked for any element e. Implementations are free to implement 36.97/11.33 * optimizations whereby the equals invocation is avoided, for 36.97/11.33 * example, by first comparing the hash codes of the two elements. (The 36.97/11.33 * {@link Object#hashCode()} specification guarantees that two objects with 36.97/11.33 * unequal hash codes cannot be equal.) More generally, implementations of 36.97/11.33 * the various Collections Framework interfaces are free to take advantage of 36.97/11.33 * the specified behavior of underlying {@link Object} methods wherever the 36.97/11.33 * implementor deems it appropriate. 36.97/11.33 * 36.97/11.33 *

This interface is a member of the 36.97/11.33 * 36.97/11.33 * Java Collections Framework. 36.97/11.33 * 36.97/11.33 * @author Josh Bloch 36.97/11.33 * @author Neal Gafter 36.97/11.33 * @see Set 36.97/11.33 * @see List 36.97/11.33 * @see Map 36.97/11.33 * @see SortedSet 36.97/11.33 * @see SortedMap 36.97/11.33 * @see HashSet 36.97/11.33 * @see TreeSet 36.97/11.33 * @see ArrayList 36.97/11.33 * @see LinkedList 36.97/11.33 * @see Vector 36.97/11.33 * @see Collections 36.97/11.33 * @see Arrays 36.97/11.33 * @see AbstractCollection 36.97/11.33 * @since 1.2 36.97/11.33 */ 36.97/11.33 36.97/11.33 public interface Collection { 36.97/11.33 // Query Operations 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Returns the number of elements in this collection. If this collection 36.97/11.33 * contains more than Integer.MAX_VALUE elements, returns 36.97/11.33 * Integer.MAX_VALUE. 36.97/11.33 * 36.97/11.33 * @return the number of elements in this collection 36.97/11.33 */ 36.97/11.33 int size(); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Returns true if this collection contains no elements. 36.97/11.33 * 36.97/11.33 * @return true if this collection contains no elements 36.97/11.33 */ 36.97/11.33 boolean isEmpty(); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Returns true if this collection contains the specified element. 36.97/11.33 * More formally, returns true if and only if this collection 36.97/11.33 * contains at least one element e such that 36.97/11.33 * (o==null ? e==null : o.equals(e)). 36.97/11.33 * 36.97/11.33 * @param o element whose presence in this collection is to be tested 36.97/11.33 * @return true if this collection contains the specified 36.97/11.33 * element 36.97/11.33 * @throws ClassCastException if the type of the specified element 36.97/11.33 * is incompatible with this collection (optional) 36.97/11.33 * @throws NullPointerException if the specified element is null and this 36.97/11.33 * collection does not permit null elements (optional) 36.97/11.33 */ 36.97/11.33 boolean contains(Object o); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Returns an iterator over the elements in this collection. There are no 36.97/11.33 * guarantees concerning the order in which the elements are returned 36.97/11.33 * (unless this collection is an instance of some class that provides a 36.97/11.33 * guarantee). 36.97/11.33 * 36.97/11.33 * @return an Iterator over the elements in this collection 36.97/11.33 */ 36.97/11.33 Iterator iterator(); 36.97/11.33 36.97/11.33 // Modification Operations 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Ensures that this collection contains the specified element (optional 36.97/11.33 * operation). Returns true if this collection changed as a 36.97/11.33 * result of the call. (Returns false if this collection does 36.97/11.33 * not permit duplicates and already contains the specified element.)

36.97/11.33 * 36.97/11.33 * Collections that support this operation may place limitations on what 36.97/11.33 * elements may be added to this collection. In particular, some 36.97/11.33 * collections will refuse to add null elements, and others will 36.97/11.33 * impose restrictions on the type of elements that may be added. 36.97/11.33 * Collection classes should clearly specify in their documentation any 36.97/11.33 * restrictions on what elements may be added.

36.97/11.33 * 36.97/11.33 * If a collection refuses to add a particular element for any reason 36.97/11.33 * other than that it already contains the element, it must throw 36.97/11.33 * an exception (rather than returning false). This preserves 36.97/11.33 * the invariant that a collection always contains the specified element 36.97/11.33 * after this call returns. 36.97/11.33 * 36.97/11.33 * @param e element whose presence in this collection is to be ensured 36.97/11.33 * @return true if this collection changed as a result of the 36.97/11.33 * call 36.97/11.33 * @throws UnsupportedOperationException if the add operation 36.97/11.33 * is not supported by this collection 36.97/11.33 * @throws ClassCastException if the class of the specified element 36.97/11.33 * prevents it from being added to this collection 36.97/11.33 * @throws NullPointerException if the specified element is null and this 36.97/11.33 * collection does not permit null elements 36.97/11.33 * @throws IllegalArgumentException if some property of the element 36.97/11.33 * prevents it from being added to this collection 36.97/11.33 * @throws IllegalStateException if the element cannot be added at this 36.97/11.33 * time due to insertion restrictions 36.97/11.33 */ 36.97/11.33 boolean add(E e); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Removes a single instance of the specified element from this 36.97/11.33 * collection, if it is present (optional operation). More formally, 36.97/11.33 * removes an element e such that 36.97/11.33 * (o==null ? e==null : o.equals(e)), if 36.97/11.33 * this collection contains one or more such elements. Returns 36.97/11.33 * true if this collection contained the specified element (or 36.97/11.33 * equivalently, if this collection changed as a result of the call). 36.97/11.33 * 36.97/11.33 * @param o element to be removed from this collection, if present 36.97/11.33 * @return true if an element was removed as a result of this call 36.97/11.33 * @throws ClassCastException if the type of the specified element 36.97/11.33 * is incompatible with this collection (optional) 36.97/11.33 * @throws NullPointerException if the specified element is null and this 36.97/11.33 * collection does not permit null elements (optional) 36.97/11.33 * @throws UnsupportedOperationException if the remove operation 36.97/11.33 * is not supported by this collection 36.97/11.33 */ 36.97/11.33 boolean remove(Object o); 36.97/11.33 36.97/11.33 36.97/11.33 // Bulk Operations 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Returns true if this collection contains all of the elements 36.97/11.33 * in the specified collection. 36.97/11.33 * 36.97/11.33 * @param c collection to be checked for containment in this collection 36.97/11.33 * @return true if this collection contains all of the elements 36.97/11.33 * in the specified collection 36.97/11.33 * @throws ClassCastException if the types of one or more elements 36.97/11.33 * in the specified collection are incompatible with this 36.97/11.33 * collection (optional) 36.97/11.33 * @throws NullPointerException if the specified collection contains one 36.97/11.33 * or more null elements and this collection does not permit null 36.97/11.33 * elements (optional), or if the specified collection is null 36.97/11.33 * @see #contains(Object) 36.97/11.33 */ 36.97/11.33 boolean containsAll(Collection c); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Adds all of the elements in the specified collection to this collection 36.97/11.33 * (optional operation). The behavior of this operation is undefined if 36.97/11.33 * the specified collection is modified while the operation is in progress. 36.97/11.33 * (This implies that the behavior of this call is undefined if the 36.97/11.33 * specified collection is this collection, and this collection is 36.97/11.33 * nonempty.) 36.97/11.33 * 36.97/11.33 * @param c collection containing elements to be added to this collection 36.97/11.33 * @return true if this collection changed as a result of the call 36.97/11.33 * @throws UnsupportedOperationException if the addAll operation 36.97/11.33 * is not supported by this collection 36.97/11.33 * @throws ClassCastException if the class of an element of the specified 36.97/11.33 * collection prevents it from being added to this collection 36.97/11.33 * @throws NullPointerException if the specified collection contains a 36.97/11.33 * null element and this collection does not permit null elements, 36.97/11.33 * or if the specified collection is null 36.97/11.33 * @throws IllegalArgumentException if some property of an element of the 36.97/11.33 * specified collection prevents it from being added to this 36.97/11.33 * collection 36.97/11.33 * @throws IllegalStateException if not all the elements can be added at 36.97/11.33 * this time due to insertion restrictions 36.97/11.33 * @see #add(Object) 36.97/11.33 */ 36.97/11.33 boolean addAll(Collection c); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Removes all of this collection's elements that are also contained in the 36.97/11.33 * specified collection (optional operation). After this call returns, 36.97/11.33 * this collection will contain no elements in common with the specified 36.97/11.33 * collection. 36.97/11.33 * 36.97/11.33 * @param c collection containing elements to be removed from this collection 36.97/11.33 * @return true if this collection changed as a result of the 36.97/11.33 * call 36.97/11.33 * @throws UnsupportedOperationException if the removeAll method 36.97/11.33 * is not supported by this collection 36.97/11.33 * @throws ClassCastException if the types of one or more elements 36.97/11.33 * in this collection are incompatible with the specified 36.97/11.33 * collection (optional) 36.97/11.33 * @throws NullPointerException if this collection contains one or more 36.97/11.33 * null elements and the specified collection does not support 36.97/11.33 * null elements (optional), or if the specified collection is null 36.97/11.33 * @see #remove(Object) 36.97/11.33 * @see #contains(Object) 36.97/11.33 */ 36.97/11.33 boolean removeAll(Collection c); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Retains only the elements in this collection that are contained in the 36.97/11.33 * specified collection (optional operation). In other words, removes from 36.97/11.33 * this collection all of its elements that are not contained in the 36.97/11.33 * specified collection. 36.97/11.33 * 36.97/11.33 * @param c collection containing elements to be retained in this collection 36.97/11.33 * @return true if this collection changed as a result of the call 36.97/11.33 * @throws UnsupportedOperationException if the retainAll operation 36.97/11.33 * is not supported by this collection 36.97/11.33 * @throws ClassCastException if the types of one or more elements 36.97/11.33 * in this collection are incompatible with the specified 36.97/11.33 * collection (optional) 36.97/11.33 * @throws NullPointerException if this collection contains one or more 36.97/11.33 * null elements and the specified collection does not permit null 36.97/11.33 * elements (optional), or if the specified collection is null 36.97/11.33 * @see #remove(Object) 36.97/11.33 * @see #contains(Object) 36.97/11.33 */ 36.97/11.33 boolean retainAll(Collection c); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Removes all of the elements from this collection (optional operation). 36.97/11.33 * The collection will be empty after this method returns. 36.97/11.33 * 36.97/11.33 * @throws UnsupportedOperationException if the clear operation 36.97/11.33 * is not supported by this collection 36.97/11.33 */ 36.97/11.33 void clear(); 36.97/11.33 36.97/11.33 36.97/11.33 // Comparison and hashing 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Compares the specified object with this collection for equality.

36.97/11.33 * 36.97/11.33 * While the Collection interface adds no stipulations to the 36.97/11.33 * general contract for the Object.equals, programmers who 36.97/11.33 * implement the Collection interface "directly" (in other words, 36.97/11.33 * create a class that is a Collection but is not a Set 36.97/11.33 * or a List) must exercise care if they choose to override the 36.97/11.33 * Object.equals. It is not necessary to do so, and the simplest 36.97/11.33 * course of action is to rely on Object's implementation, but 36.97/11.33 * the implementor may wish to implement a "value comparison" in place of 36.97/11.33 * the default "reference comparison." (The List and 36.97/11.33 * Set interfaces mandate such value comparisons.)

36.97/11.33 * 36.97/11.33 * The general contract for the Object.equals method states that 36.97/11.33 * equals must be symmetric (in other words, a.equals(b) if and 36.97/11.33 * only if b.equals(a)). The contracts for List.equals 36.97/11.33 * and Set.equals state that lists are only equal to other lists, 36.97/11.33 * and sets to other sets. Thus, a custom equals method for a 36.97/11.33 * collection class that implements neither the List nor 36.97/11.33 * Set interface must return false when this collection 36.97/11.33 * is compared to any list or set. (By the same logic, it is not possible 36.97/11.33 * to write a class that correctly implements both the Set and 36.97/11.33 * List interfaces.) 36.97/11.33 * 36.97/11.33 * @param o object to be compared for equality with this collection 36.97/11.33 * @return true if the specified object is equal to this 36.97/11.33 * collection 36.97/11.33 * 36.97/11.33 * @see Object#equals(Object) 36.97/11.33 * @see Set#equals(Object) 36.97/11.33 * @see List#equals(Object) 36.97/11.33 */ 36.97/11.33 boolean equals(Object o); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Returns the hash code value for this collection. While the 36.97/11.33 * Collection interface adds no stipulations to the general 36.97/11.33 * contract for the Object.hashCode method, programmers should 36.97/11.33 * take note that any class that overrides the Object.equals 36.97/11.33 * method must also override the Object.hashCode method in order 36.97/11.33 * to satisfy the general contract for the Object.hashCodemethod. 36.97/11.33 * In particular, c1.equals(c2) implies that 36.97/11.33 * c1.hashCode()==c2.hashCode(). 36.97/11.33 * 36.97/11.33 * @return the hash code value for this collection 36.97/11.33 * 36.97/11.33 * @see Object#hashCode() 36.97/11.33 * @see Object#equals(Object) 36.97/11.33 */ 36.97/11.33 int hashCode(); 36.97/11.33 } 36.97/11.33 36.97/11.33 36.97/11.33 /* 36.97/11.33 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.33 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.33 * 36.97/11.33 * This code is free software; you can redistribute it and/or modify it 36.97/11.33 * under the terms of the GNU General Public License version 2 only, as 36.97/11.33 * published by the Free Software Foundation. Sun designates this 36.97/11.33 * particular file as subject to the "Classpath" exception as provided 36.97/11.33 * by Sun in the LICENSE file that accompanied this code. 36.97/11.33 * 36.97/11.33 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.33 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.33 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.33 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.33 * accompanied this code). 36.97/11.33 * 36.97/11.33 * You should have received a copy of the GNU General Public License version 36.97/11.33 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.33 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.33 * 36.97/11.33 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.33 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.33 * have any questions. 36.97/11.33 */ 36.97/11.33 36.97/11.33 package javaUtilEx; 36.97/11.33 36.97/11.33 /** 36.97/11.33 * This exception may be thrown by methods that have detected concurrent 36.97/11.33 * modification of an object when such modification is not permissible. 36.97/11.33 *

36.97/11.33 * For example, it is not generally permissible for one thread to modify a Collection 36.97/11.33 * while another thread is iterating over it. In general, the results of the 36.97/11.33 * iteration are undefined under these circumstances. Some Iterator 36.97/11.33 * implementations (including those of all the general purpose collection implementations 36.97/11.33 * provided by the JRE) may choose to throw this exception if this behavior is 36.97/11.33 * detected. Iterators that do this are known as fail-fast iterators, 36.97/11.33 * as they fail quickly and cleanly, rather that risking arbitrary, 36.97/11.33 * non-deterministic behavior at an undetermined time in the future. 36.97/11.33 *

36.97/11.33 * Note that this exception does not always indicate that an object has 36.97/11.33 * been concurrently modified by a different thread. If a single 36.97/11.33 * thread issues a sequence of method invocations that violates the 36.97/11.33 * contract of an object, the object may throw this exception. For 36.97/11.33 * example, if a thread modifies a collection directly while it is 36.97/11.33 * iterating over the collection with a fail-fast iterator, the iterator 36.97/11.33 * will throw this exception. 36.97/11.33 * 36.97/11.33 *

Note that fail-fast behavior cannot be guaranteed as it is, generally 36.97/11.33 * speaking, impossible to make any hard guarantees in the presence of 36.97/11.33 * unsynchronized concurrent modification. Fail-fast operations 36.97/11.33 * throw ConcurrentModificationException on a best-effort basis. 36.97/11.33 * Therefore, it would be wrong to write a program that depended on this 36.97/11.33 * exception for its correctness: ConcurrentModificationException 36.97/11.33 * should be used only to detect bugs. 36.97/11.33 * 36.97/11.33 * @author Josh Bloch 36.97/11.33 * @see Collection 36.97/11.33 * @see Iterator 36.97/11.33 * @see ListIterator 36.97/11.33 * @see Vector 36.97/11.33 * @see LinkedList 36.97/11.33 * @see HashSet 36.97/11.33 * @see Hashtable 36.97/11.33 * @see TreeMap 36.97/11.33 * @see AbstractList 36.97/11.33 * @since 1.2 36.97/11.33 */ 36.97/11.33 public class ConcurrentModificationException extends RuntimeException { 36.97/11.33 /** 36.97/11.33 * Constructs a ConcurrentModificationException with no 36.97/11.33 * detail message. 36.97/11.33 */ 36.97/11.33 public ConcurrentModificationException() { 36.97/11.33 } 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Constructs a ConcurrentModificationException with the 36.97/11.33 * specified detail message. 36.97/11.33 * 36.97/11.33 * @param message the detail message pertaining to this exception. 36.97/11.33 */ 36.97/11.33 public ConcurrentModificationException(String message) { 36.97/11.33 super(message); 36.97/11.33 } 36.97/11.33 } 36.97/11.33 36.97/11.33 36.97/11.33 /* 36.97/11.33 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.33 * 36.97/11.33 * This code is free software; you can redistribute it and/or modify it 36.97/11.33 * under the terms of the GNU General Public License version 2 only, as 36.97/11.33 * published by the Free Software Foundation. Sun designates this 36.97/11.33 * particular file as subject to the "Classpath" exception as provided 36.97/11.33 * by Sun in the LICENSE file that accompanied this code. 36.97/11.33 * 36.97/11.33 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.33 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.33 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.33 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.33 * accompanied this code). 36.97/11.33 * 36.97/11.33 * You should have received a copy of the GNU General Public License version 36.97/11.33 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.33 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.33 * 36.97/11.33 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.33 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.33 * have any questions. 36.97/11.33 */ 36.97/11.33 36.97/11.33 /* 36.97/11.33 * This file is available under and governed by the GNU General Public 36.97/11.33 * License version 2 only, as published by the Free Software Foundation. 36.97/11.33 * However, the following notice accompanied the original version of this 36.97/11.33 * file: 36.97/11.33 * 36.97/11.33 * Written by Doug Lea and Josh Bloch with assistance from members of 36.97/11.33 * JCP JSR-166 Expert Group and released to the public domain, as explained 36.97/11.33 * at http://creativecommons.org/licenses/publicdomain 36.97/11.33 */ 36.97/11.33 36.97/11.33 package javaUtilEx; 36.97/11.33 36.97/11.33 /** 36.97/11.33 * A linear collection that supports element insertion and removal at 36.97/11.33 * both ends. The name deque is short for "double ended queue" 36.97/11.33 * and is usually pronounced "deck". Most Deque 36.97/11.33 * implementations place no fixed limits on the number of elements 36.97/11.33 * they may contain, but this interface supports capacity-restricted 36.97/11.33 * deques as well as those with no fixed size limit. 36.97/11.33 * 36.97/11.33 *

This interface defines methods to access the elements at both 36.97/11.33 * ends of the deque. Methods are provided to insert, remove, and 36.97/11.33 * examine the element. Each of these methods exists in two forms: 36.97/11.33 * one throws an exception if the operation fails, the other returns a 36.97/11.33 * special value (either null or false, depending on 36.97/11.33 * the operation). The latter form of the insert operation is 36.97/11.33 * designed specifically for use with capacity-restricted 36.97/11.33 * Deque implementations; in most implementations, insert 36.97/11.33 * operations cannot fail. 36.97/11.33 * 36.97/11.33 *

The twelve methods described above are summarized in the 36.97/11.33 * following table: 36.97/11.33 * 36.97/11.33 *

36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 *
First Element (Head) Last Element (Tail)
Throws exceptionSpecial valueThrows exceptionSpecial value
Insert{@link #addFirst addFirst(e)}{@link #offerFirst offerFirst(e)}{@link #addLast addLast(e)}{@link #offerLast offerLast(e)}
Remove{@link #removeFirst removeFirst()}{@link #pollFirst pollFirst()}{@link #removeLast removeLast()}{@link #pollLast pollLast()}
Examine{@link #getFirst getFirst()}{@link #peekFirst peekFirst()}{@link #getLast getLast()}{@link #peekLast peekLast()}
36.97/11.33 * 36.97/11.33 *

This interface extends the {@link Queue} interface. When a deque is 36.97/11.33 * used as a queue, FIFO (First-In-First-Out) behavior results. Elements are 36.97/11.33 * added at the end of the deque and removed from the beginning. The methods 36.97/11.33 * inherited from the Queue interface are precisely equivalent to 36.97/11.33 * Deque methods as indicated in the following table: 36.97/11.33 * 36.97/11.33 *

36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 *
Queue Method Equivalent Deque Method
{@link java.util.Queue#add add(e)}{@link #addLast addLast(e)}
{@link java.util.Queue#offer offer(e)}{@link #offerLast offerLast(e)}
{@link java.util.Queue#remove remove()}{@link #removeFirst removeFirst()}
{@link java.util.Queue#poll poll()}{@link #pollFirst pollFirst()}
{@link java.util.Queue#element element()}{@link #getFirst getFirst()}
{@link java.util.Queue#peek peek()}{@link #peek peekFirst()}
36.97/11.33 * 36.97/11.33 *

Deques can also be used as LIFO (Last-In-First-Out) stacks. This 36.97/11.33 * interface should be used in preference to the legacy {@link Stack} class. 36.97/11.33 * When a deque is used as a stack, elements are pushed and popped from the 36.97/11.33 * beginning of the deque. Stack methods are precisely equivalent to 36.97/11.33 * Deque methods as indicated in the table below: 36.97/11.33 * 36.97/11.33 *

36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 * 36.97/11.33 *
Stack Method Equivalent Deque Method
{@link #push push(e)}{@link #addFirst addFirst(e)}
{@link #pop pop()}{@link #removeFirst removeFirst()}
{@link #peek peek()}{@link #peekFirst peekFirst()}
36.97/11.33 * 36.97/11.33 *

Note that the {@link #peek peek} method works equally well when 36.97/11.33 * a deque is used as a queue or a stack; in either case, elements are 36.97/11.33 * drawn from the beginning of the deque. 36.97/11.33 * 36.97/11.33 *

This interface provides two methods to remove interior 36.97/11.33 * elements, {@link #removeFirstOccurrence removeFirstOccurrence} and 36.97/11.33 * {@link #removeLastOccurrence removeLastOccurrence}. 36.97/11.33 * 36.97/11.33 *

Unlike the {@link List} interface, this interface does not 36.97/11.33 * provide support for indexed access to elements. 36.97/11.33 * 36.97/11.33 *

While Deque implementations are not strictly required 36.97/11.33 * to prohibit the insertion of null elements, they are strongly 36.97/11.33 * encouraged to do so. Users of any Deque implementations 36.97/11.33 * that do allow null elements are strongly encouraged not to 36.97/11.33 * take advantage of the ability to insert nulls. This is so because 36.97/11.33 * null is used as a special return value by various methods 36.97/11.33 * to indicated that the deque is empty. 36.97/11.33 * 36.97/11.33 *

Deque implementations generally do not define 36.97/11.33 * element-based versions of the equals and hashCode 36.97/11.33 * methods, but instead inherit the identity-based versions from class 36.97/11.33 * Object. 36.97/11.33 * 36.97/11.33 *

This interface is a member of the Java Collections 36.97/11.33 * Framework. 36.97/11.33 * 36.97/11.33 * @author Doug Lea 36.97/11.33 * @author Josh Bloch 36.97/11.33 * @since 1.6 36.97/11.33 * @param the type of elements held in this collection 36.97/11.33 */ 36.97/11.33 36.97/11.33 public interface Deque extends Queue { 36.97/11.33 /** 36.97/11.33 * Inserts the specified element at the front of this deque if it is 36.97/11.33 * possible to do so immediately without violating capacity restrictions. 36.97/11.33 * When using a capacity-restricted deque, it is generally preferable to 36.97/11.33 * use method {@link #offerFirst}. 36.97/11.33 * 36.97/11.33 * @param e the element to add 36.97/11.33 * @throws IllegalStateException if the element cannot be added at this 36.97/11.33 * time due to capacity restrictions 36.97/11.33 * @throws ClassCastException if the class of the specified element 36.97/11.33 * prevents it from being added to this deque 36.97/11.33 * @throws NullPointerException if the specified element is null and this 36.97/11.33 * deque does not permit null elements 36.97/11.33 * @throws IllegalArgumentException if some property of the specified 36.97/11.33 * element prevents it from being added to this deque 36.97/11.33 */ 36.97/11.33 void addFirst(E e); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Inserts the specified element at the end of this deque if it is 36.97/11.33 * possible to do so immediately without violating capacity restrictions. 36.97/11.33 * When using a capacity-restricted deque, it is generally preferable to 36.97/11.33 * use method {@link #offerLast}. 36.97/11.33 * 36.97/11.33 *

This method is equivalent to {@link #add}. 36.97/11.33 * 36.97/11.33 * @param e the element to add 36.97/11.33 * @throws IllegalStateException if the element cannot be added at this 36.97/11.33 * time due to capacity restrictions 36.97/11.33 * @throws ClassCastException if the class of the specified element 36.97/11.33 * prevents it from being added to this deque 36.97/11.33 * @throws NullPointerException if the specified element is null and this 36.97/11.33 * deque does not permit null elements 36.97/11.33 * @throws IllegalArgumentException if some property of the specified 36.97/11.33 * element prevents it from being added to this deque 36.97/11.33 */ 36.97/11.33 void addLast(E e); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Inserts the specified element at the front of this deque unless it would 36.97/11.33 * violate capacity restrictions. When using a capacity-restricted deque, 36.97/11.33 * this method is generally preferable to the {@link #addFirst} method, 36.97/11.33 * which can fail to insert an element only by throwing an exception. 36.97/11.33 * 36.97/11.33 * @param e the element to add 36.97/11.33 * @return true if the element was added to this deque, else 36.97/11.33 * false 36.97/11.33 * @throws ClassCastException if the class of the specified element 36.97/11.33 * prevents it from being added to this deque 36.97/11.33 * @throws NullPointerException if the specified element is null and this 36.97/11.33 * deque does not permit null elements 36.97/11.33 * @throws IllegalArgumentException if some property of the specified 36.97/11.33 * element prevents it from being added to this deque 36.97/11.33 */ 36.97/11.33 boolean offerFirst(E e); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Inserts the specified element at the end of this deque unless it would 36.97/11.33 * violate capacity restrictions. When using a capacity-restricted deque, 36.97/11.33 * this method is generally preferable to the {@link #addLast} method, 36.97/11.33 * which can fail to insert an element only by throwing an exception. 36.97/11.33 * 36.97/11.33 * @param e the element to add 36.97/11.33 * @return true if the element was added to this deque, else 36.97/11.33 * false 36.97/11.33 * @throws ClassCastException if the class of the specified element 36.97/11.33 * prevents it from being added to this deque 36.97/11.33 * @throws NullPointerException if the specified element is null and this 36.97/11.33 * deque does not permit null elements 36.97/11.33 * @throws IllegalArgumentException if some property of the specified 36.97/11.33 * element prevents it from being added to this deque 36.97/11.33 */ 36.97/11.33 boolean offerLast(E e); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Retrieves and removes the first element of this deque. This method 36.97/11.33 * differs from {@link #pollFirst pollFirst} only in that it throws an 36.97/11.33 * exception if this deque is empty. 36.97/11.33 * 36.97/11.33 * @return the head of this deque 36.97/11.33 * @throws NoSuchElementException if this deque is empty 36.97/11.33 */ 36.97/11.33 E removeFirst(); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Retrieves and removes the last element of this deque. This method 36.97/11.33 * differs from {@link #pollLast pollLast} only in that it throws an 36.97/11.33 * exception if this deque is empty. 36.97/11.33 * 36.97/11.33 * @return the tail of this deque 36.97/11.33 * @throws NoSuchElementException if this deque is empty 36.97/11.33 */ 36.97/11.33 E removeLast(); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Retrieves and removes the first element of this deque, 36.97/11.33 * or returns null if this deque is empty. 36.97/11.33 * 36.97/11.33 * @return the head of this deque, or null if this deque is empty 36.97/11.33 */ 36.97/11.33 E pollFirst(); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Retrieves and removes the last element of this deque, 36.97/11.33 * or returns null if this deque is empty. 36.97/11.33 * 36.97/11.33 * @return the tail of this deque, or null if this deque is empty 36.97/11.33 */ 36.97/11.33 E pollLast(); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Retrieves, but does not remove, the first element of this deque. 36.97/11.33 * 36.97/11.33 * This method differs from {@link #peekFirst peekFirst} only in that it 36.97/11.33 * throws an exception if this deque is empty. 36.97/11.33 * 36.97/11.33 * @return the head of this deque 36.97/11.33 * @throws NoSuchElementException if this deque is empty 36.97/11.33 */ 36.97/11.33 E getFirst(); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Retrieves, but does not remove, the last element of this deque. 36.97/11.33 * This method differs from {@link #peekLast peekLast} only in that it 36.97/11.33 * throws an exception if this deque is empty. 36.97/11.33 * 36.97/11.33 * @return the tail of this deque 36.97/11.33 * @throws NoSuchElementException if this deque is empty 36.97/11.33 */ 36.97/11.33 E getLast(); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Retrieves, but does not remove, the first element of this deque, 36.97/11.33 * or returns null if this deque is empty. 36.97/11.33 * 36.97/11.33 * @return the head of this deque, or null if this deque is empty 36.97/11.33 */ 36.97/11.33 E peekFirst(); 36.97/11.33 36.97/11.33 /** 36.97/11.33 * Retrieves, but does not remove, the last element of this deque, 36.97/11.33 * or returns null if this deque is empty. 36.97/11.33 * 36.97/11.33 * @return the tail of this deque, or null if this deque is empty 36.97/11.34 */ 36.97/11.34 E peekLast(); 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Removes the first occurrence of the specified element from this deque. 36.97/11.34 * If the deque does not contain the element, it is unchanged. 36.97/11.34 * More formally, removes the first element e such that 36.97/11.34 * (o==null ? e==null : o.equals(e)) 36.97/11.34 * (if such an element exists). 36.97/11.34 * Returns true if this deque contained the specified element 36.97/11.34 * (or equivalently, if this deque changed as a result of the call). 36.97/11.34 * 36.97/11.34 * @param o element to be removed from this deque, if present 36.97/11.34 * @return true if an element was removed as a result of this call 36.97/11.34 * @throws ClassCastException if the class of the specified element 36.97/11.34 * is incompatible with this deque (optional) 36.97/11.34 * @throws NullPointerException if the specified element is null and this 36.97/11.34 * deque does not permit null elements (optional) 36.97/11.34 */ 36.97/11.34 boolean removeFirstOccurrence(Object o); 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Removes the last occurrence of the specified element from this deque. 36.97/11.34 * If the deque does not contain the element, it is unchanged. 36.97/11.34 * More formally, removes the last element e such that 36.97/11.34 * (o==null ? e==null : o.equals(e)) 36.97/11.34 * (if such an element exists). 36.97/11.34 * Returns true if this deque contained the specified element 36.97/11.34 * (or equivalently, if this deque changed as a result of the call). 36.97/11.34 * 36.97/11.34 * @param o element to be removed from this deque, if present 36.97/11.34 * @return true if an element was removed as a result of this call 36.97/11.34 * @throws ClassCastException if the class of the specified element 36.97/11.34 * is incompatible with this deque (optional) 36.97/11.34 * @throws NullPointerException if the specified element is null and this 36.97/11.34 * deque does not permit null elements (optional) 36.97/11.34 */ 36.97/11.34 boolean removeLastOccurrence(Object o); 36.97/11.34 36.97/11.34 // *** Queue methods *** 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Inserts the specified element into the queue represented by this deque 36.97/11.34 * (in other words, at the tail of this deque) if it is possible to do so 36.97/11.34 * immediately without violating capacity restrictions, returning 36.97/11.34 * true upon success and throwing an 36.97/11.34 * IllegalStateException if no space is currently available. 36.97/11.34 * When using a capacity-restricted deque, it is generally preferable to 36.97/11.34 * use {@link #offer(Object) offer}. 36.97/11.34 * 36.97/11.34 *

This method is equivalent to {@link #addLast}. 36.97/11.34 * 36.97/11.34 * @param e the element to add 36.97/11.34 * @return true (as specified by {@link Collection#add}) 36.97/11.34 * @throws IllegalStateException if the element cannot be added at this 36.97/11.34 * time due to capacity restrictions 36.97/11.34 * @throws ClassCastException if the class of the specified element 36.97/11.34 * prevents it from being added to this deque 36.97/11.34 * @throws NullPointerException if the specified element is null and this 36.97/11.34 * deque does not permit null elements 36.97/11.34 * @throws IllegalArgumentException if some property of the specified 36.97/11.34 * element prevents it from being added to this deque 36.97/11.34 */ 36.97/11.34 boolean add(E e); 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Inserts the specified element into the queue represented by this deque 36.97/11.34 * (in other words, at the tail of this deque) if it is possible to do so 36.97/11.34 * immediately without violating capacity restrictions, returning 36.97/11.34 * true upon success and false if no space is currently 36.97/11.34 * available. When using a capacity-restricted deque, this method is 36.97/11.34 * generally preferable to the {@link #add} method, which can fail to 36.97/11.34 * insert an element only by throwing an exception. 36.97/11.34 * 36.97/11.34 *

This method is equivalent to {@link #offerLast}. 36.97/11.34 * 36.97/11.34 * @param e the element to add 36.97/11.34 * @return true if the element was added to this deque, else 36.97/11.34 * false 36.97/11.34 * @throws ClassCastException if the class of the specified element 36.97/11.34 * prevents it from being added to this deque 36.97/11.34 * @throws NullPointerException if the specified element is null and this 36.97/11.34 * deque does not permit null elements 36.97/11.34 * @throws IllegalArgumentException if some property of the specified 36.97/11.34 * element prevents it from being added to this deque 36.97/11.34 */ 36.97/11.34 boolean offer(E e); 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Retrieves and removes the head of the queue represented by this deque 36.97/11.34 * (in other words, the first element of this deque). 36.97/11.34 * This method differs from {@link #poll poll} only in that it throws an 36.97/11.34 * exception if this deque is empty. 36.97/11.34 * 36.97/11.34 *

This method is equivalent to {@link #removeFirst()}. 36.97/11.34 * 36.97/11.34 * @return the head of the queue represented by this deque 36.97/11.34 * @throws NoSuchElementException if this deque is empty 36.97/11.34 */ 36.97/11.34 E remove(); 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Retrieves and removes the head of the queue represented by this deque 36.97/11.34 * (in other words, the first element of this deque), or returns 36.97/11.34 * null if this deque is empty. 36.97/11.34 * 36.97/11.34 *

This method is equivalent to {@link #pollFirst()}. 36.97/11.34 * 36.97/11.34 * @return the first element of this deque, or null if 36.97/11.34 * this deque is empty 36.97/11.34 */ 36.97/11.34 E poll(); 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Retrieves, but does not remove, the head of the queue represented by 36.97/11.34 * this deque (in other words, the first element of this deque). 36.97/11.34 * This method differs from {@link #peek peek} only in that it throws an 36.97/11.34 * exception if this deque is empty. 36.97/11.34 * 36.97/11.34 *

This method is equivalent to {@link #getFirst()}. 36.97/11.34 * 36.97/11.34 * @return the head of the queue represented by this deque 36.97/11.34 * @throws NoSuchElementException if this deque is empty 36.97/11.34 */ 36.97/11.34 E element(); 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Retrieves, but does not remove, the head of the queue represented by 36.97/11.34 * this deque (in other words, the first element of this deque), or 36.97/11.34 * returns null if this deque is empty. 36.97/11.34 * 36.97/11.34 *

This method is equivalent to {@link #peekFirst()}. 36.97/11.34 * 36.97/11.34 * @return the head of the queue represented by this deque, or 36.97/11.34 * null if this deque is empty 36.97/11.34 */ 36.97/11.34 E peek(); 36.97/11.34 36.97/11.34 36.97/11.34 // *** Stack methods *** 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Pushes an element onto the stack represented by this deque (in other 36.97/11.34 * words, at the head of this deque) if it is possible to do so 36.97/11.34 * immediately without violating capacity restrictions, returning 36.97/11.34 * true upon success and throwing an 36.97/11.34 * IllegalStateException if no space is currently available. 36.97/11.34 * 36.97/11.34 *

This method is equivalent to {@link #addFirst}. 36.97/11.34 * 36.97/11.34 * @param e the element to push 36.97/11.34 * @throws IllegalStateException if the element cannot be added at this 36.97/11.34 * time due to capacity restrictions 36.97/11.34 * @throws ClassCastException if the class of the specified element 36.97/11.34 * prevents it from being added to this deque 36.97/11.34 * @throws NullPointerException if the specified element is null and this 36.97/11.34 * deque does not permit null elements 36.97/11.34 * @throws IllegalArgumentException if some property of the specified 36.97/11.34 * element prevents it from being added to this deque 36.97/11.34 */ 36.97/11.34 void push(E e); 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Pops an element from the stack represented by this deque. In other 36.97/11.34 * words, removes and returns the first element of this deque. 36.97/11.34 * 36.97/11.34 *

This method is equivalent to {@link #removeFirst()}. 36.97/11.34 * 36.97/11.34 * @return the element at the front of this deque (which is the top 36.97/11.34 * of the stack represented by this deque) 36.97/11.34 * @throws NoSuchElementException if this deque is empty 36.97/11.34 */ 36.97/11.34 E pop(); 36.97/11.34 36.97/11.34 36.97/11.34 // *** Collection methods *** 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Removes the first occurrence of the specified element from this deque. 36.97/11.34 * If the deque does not contain the element, it is unchanged. 36.97/11.34 * More formally, removes the first element e such that 36.97/11.34 * (o==null ? e==null : o.equals(e)) 36.97/11.34 * (if such an element exists). 36.97/11.34 * Returns true if this deque contained the specified element 36.97/11.34 * (or equivalently, if this deque changed as a result of the call). 36.97/11.34 * 36.97/11.34 *

This method is equivalent to {@link #removeFirstOccurrence}. 36.97/11.34 * 36.97/11.34 * @param o element to be removed from this deque, if present 36.97/11.34 * @return true if an element was removed as a result of this call 36.97/11.34 * @throws ClassCastException if the class of the specified element 36.97/11.34 * is incompatible with this deque (optional) 36.97/11.34 * @throws NullPointerException if the specified element is null and this 36.97/11.34 * deque does not permit null elements (optional) 36.97/11.34 */ 36.97/11.34 boolean remove(Object o); 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Returns true if this deque contains the specified element. 36.97/11.34 * More formally, returns true if and only if this deque contains 36.97/11.34 * at least one element e such that 36.97/11.34 * (o==null ? e==null : o.equals(e)). 36.97/11.34 * 36.97/11.34 * @param o element whose presence in this deque is to be tested 36.97/11.34 * @return true if this deque contains the specified element 36.97/11.34 * @throws ClassCastException if the type of the specified element 36.97/11.34 * is incompatible with this deque (optional) 36.97/11.34 * @throws NullPointerException if the specified element is null and this 36.97/11.34 * deque does not permit null elements (optional) 36.97/11.34 */ 36.97/11.34 boolean contains(Object o); 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Returns the number of elements in this deque. 36.97/11.34 * 36.97/11.34 * @return the number of elements in this deque 36.97/11.34 */ 36.97/11.34 public int size(); 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Returns an iterator over the elements in this deque in proper sequence. 36.97/11.34 * The elements will be returned in order from first (head) to last (tail). 36.97/11.34 * 36.97/11.34 * @return an iterator over the elements in this deque in proper sequence 36.97/11.34 */ 36.97/11.34 Iterator iterator(); 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Returns an iterator over the elements in this deque in reverse 36.97/11.34 * sequential order. The elements will be returned in order from 36.97/11.34 * last (tail) to first (head). 36.97/11.34 * 36.97/11.34 * @return an iterator over the elements in this deque in reverse 36.97/11.34 * sequence 36.97/11.34 */ 36.97/11.34 Iterator descendingIterator(); 36.97/11.34 36.97/11.34 } 36.97/11.34 36.97/11.34 36.97/11.34 /* 36.97/11.34 * Copyright 1994-2003 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.34 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.34 * 36.97/11.34 * This code is free software; you can redistribute it and/or modify it 36.97/11.34 * under the terms of the GNU General Public License version 2 only, as 36.97/11.34 * published by the Free Software Foundation. Sun designates this 36.97/11.34 * particular file as subject to the "Classpath" exception as provided 36.97/11.34 * by Sun in the LICENSE file that accompanied this code. 36.97/11.34 * 36.97/11.34 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.34 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.34 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.34 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.34 * accompanied this code). 36.97/11.34 * 36.97/11.34 * You should have received a copy of the GNU General Public License version 36.97/11.34 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.34 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.34 * 36.97/11.34 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.34 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.34 * have any questions. 36.97/11.34 */ 36.97/11.34 36.97/11.34 package javaUtilEx; 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Thrown to indicate that a method has been passed an illegal or 36.97/11.34 * inappropriate argument. 36.97/11.34 * 36.97/11.34 * @author unascribed 36.97/11.34 * @see java.lang.Thread#setPriority(int) 36.97/11.34 * @since JDK1.0 36.97/11.34 */ 36.97/11.34 public 36.97/11.34 class IllegalArgumentException extends RuntimeException { 36.97/11.34 /** 36.97/11.34 * Constructs an IllegalArgumentException with no 36.97/11.34 * detail message. 36.97/11.34 */ 36.97/11.34 public IllegalArgumentException() { 36.97/11.34 super(); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Constructs an IllegalArgumentException with the 36.97/11.34 * specified detail message. 36.97/11.34 * 36.97/11.34 * @param s the detail message. 36.97/11.34 */ 36.97/11.34 public IllegalArgumentException(String s) { 36.97/11.34 super(s); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Constructs a new exception with the specified detail message and 36.97/11.34 * cause. 36.97/11.34 * 36.97/11.34 *

Note that the detail message associated with cause is 36.97/11.34 * not automatically incorporated in this exception's detail 36.97/11.34 * message. 36.97/11.34 * 36.97/11.34 * @param message the detail message (which is saved for later retrieval 36.97/11.34 * by the {@link Throwable#getMessage()} method). 36.97/11.34 * @param cause the cause (which is saved for later retrieval by the 36.97/11.34 * {@link Throwable#getCause()} method). (A null value 36.97/11.34 * is permitted, and indicates that the cause is nonexistent or 36.97/11.34 * unknown.) 36.97/11.34 * @since 1.5 36.97/11.34 */ 36.97/11.34 public IllegalArgumentException(String message, Throwable cause) { 36.97/11.34 super(message, cause); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Constructs a new exception with the specified cause and a detail 36.97/11.34 * message of (cause==null ? null : cause.toString()) (which 36.97/11.34 * typically contains the class and detail message of cause). 36.97/11.34 * This constructor is useful for exceptions that are little more than 36.97/11.34 * wrappers for other throwables (for example, {@link 36.97/11.34 * java.security.PrivilegedActionException}). 36.97/11.34 * 36.97/11.34 * @param cause the cause (which is saved for later retrieval by the 36.97/11.34 * {@link Throwable#getCause()} method). (A null value is 36.97/11.34 * permitted, and indicates that the cause is nonexistent or 36.97/11.34 * unknown.) 36.97/11.34 * @since 1.5 36.97/11.34 */ 36.97/11.34 public IllegalArgumentException(Throwable cause) { 36.97/11.34 super(cause); 36.97/11.34 } 36.97/11.34 36.97/11.34 private static final long serialVersionUID = -5365630128856068164L; 36.97/11.34 } 36.97/11.34 36.97/11.34 36.97/11.34 /* 36.97/11.34 * Copyright 1996-2003 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.34 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.34 * 36.97/11.34 * This code is free software; you can redistribute it and/or modify it 36.97/11.34 * under the terms of the GNU General Public License version 2 only, as 36.97/11.34 * published by the Free Software Foundation. Sun designates this 36.97/11.34 * particular file as subject to the "Classpath" exception as provided 36.97/11.34 * by Sun in the LICENSE file that accompanied this code. 36.97/11.34 * 36.97/11.34 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.34 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.34 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.34 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.34 * accompanied this code). 36.97/11.34 * 36.97/11.34 * You should have received a copy of the GNU General Public License version 36.97/11.34 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.34 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.34 * 36.97/11.34 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.34 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.34 * have any questions. 36.97/11.34 */ 36.97/11.34 36.97/11.34 package javaUtilEx; 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Signals that a method has been invoked at an illegal or 36.97/11.34 * inappropriate time. In other words, the Java environment or 36.97/11.34 * Java application is not in an appropriate state for the requested 36.97/11.34 * operation. 36.97/11.34 * 36.97/11.34 * @author Jonni Kanerva 36.97/11.34 * @since JDK1.1 36.97/11.34 */ 36.97/11.34 public 36.97/11.34 class IllegalStateException extends RuntimeException { 36.97/11.34 /** 36.97/11.34 * Constructs an IllegalStateException with no detail message. 36.97/11.34 * A detail message is a String that describes this particular exception. 36.97/11.34 */ 36.97/11.34 public IllegalStateException() { 36.97/11.34 super(); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Constructs an IllegalStateException with the specified detail 36.97/11.34 * message. A detail message is a String that describes this particular 36.97/11.34 * exception. 36.97/11.34 * 36.97/11.34 * @param s the String that contains a detailed message 36.97/11.34 */ 36.97/11.34 public IllegalStateException(String s) { 36.97/11.34 super(s); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Constructs a new exception with the specified detail message and 36.97/11.34 * cause. 36.97/11.34 * 36.97/11.34 *

Note that the detail message associated with cause is 36.97/11.34 * not automatically incorporated in this exception's detail 36.97/11.34 * message. 36.97/11.34 * 36.97/11.34 * @param message the detail message (which is saved for later retrieval 36.97/11.34 * by the {@link Throwable#getMessage()} method). 36.97/11.34 * @param cause the cause (which is saved for later retrieval by the 36.97/11.34 * {@link Throwable#getCause()} method). (A null value 36.97/11.34 * is permitted, and indicates that the cause is nonexistent or 36.97/11.34 * unknown.) 36.97/11.34 * @since 1.5 36.97/11.34 */ 36.97/11.34 public IllegalStateException(String message, Throwable cause) { 36.97/11.34 super(message, cause); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Constructs a new exception with the specified cause and a detail 36.97/11.34 * message of (cause==null ? null : cause.toString()) (which 36.97/11.34 * typically contains the class and detail message of cause). 36.97/11.34 * This constructor is useful for exceptions that are little more than 36.97/11.34 * wrappers for other throwables (for example, {@link 36.97/11.34 * java.security.PrivilegedActionException}). 36.97/11.34 * 36.97/11.34 * @param cause the cause (which is saved for later retrieval by the 36.97/11.34 * {@link Throwable#getCause()} method). (A null value is 36.97/11.34 * permitted, and indicates that the cause is nonexistent or 36.97/11.34 * unknown.) 36.97/11.34 * @since 1.5 36.97/11.34 */ 36.97/11.34 public IllegalStateException(Throwable cause) { 36.97/11.34 super(cause); 36.97/11.34 } 36.97/11.34 36.97/11.34 static final long serialVersionUID = -1848914673093119416L; 36.97/11.34 } 36.97/11.34 36.97/11.34 36.97/11.34 /* 36.97/11.34 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.34 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.34 * 36.97/11.34 * This code is free software; you can redistribute it and/or modify it 36.97/11.34 * under the terms of the GNU General Public License version 2 only, as 36.97/11.34 * published by the Free Software Foundation. Sun designates this 36.97/11.34 * particular file as subject to the "Classpath" exception as provided 36.97/11.34 * by Sun in the LICENSE file that accompanied this code. 36.97/11.34 * 36.97/11.34 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.34 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.34 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.34 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.34 * accompanied this code). 36.97/11.34 * 36.97/11.34 * You should have received a copy of the GNU General Public License version 36.97/11.34 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.34 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.34 * 36.97/11.34 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.34 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.34 * have any questions. 36.97/11.34 */ 36.97/11.34 36.97/11.34 package javaUtilEx; 36.97/11.34 36.97/11.34 /** 36.97/11.34 * An iterator over a collection. {@code Iterator} takes the place of 36.97/11.34 * {@link Enumeration} in the Java Collections Framework. Iterators 36.97/11.34 * differ from enumerations in two ways: 36.97/11.34 * 36.97/11.34 *

36.97/11.34 * 36.97/11.34 *

This interface is a member of the 36.97/11.34 * 36.97/11.34 * Java Collections Framework. 36.97/11.34 * 36.97/11.34 * @author Josh Bloch 36.97/11.34 * @see Collection 36.97/11.34 * @see ListIterator 36.97/11.34 * @see Iterable 36.97/11.34 * @since 1.2 36.97/11.34 */ 36.97/11.34 public interface Iterator { 36.97/11.34 /** 36.97/11.34 * Returns {@code true} if the iteration has more elements. 36.97/11.34 * (In other words, returns {@code true} if {@link #next} would 36.97/11.34 * return an element rather than throwing an exception.) 36.97/11.34 * 36.97/11.34 * @return {@code true} if the iteration has more elements 36.97/11.34 */ 36.97/11.34 boolean hasNext(); 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Returns the next element in the iteration. 36.97/11.34 * 36.97/11.34 * @return the next element in the iteration 36.97/11.34 * @throws NoSuchElementException if the iteration has no more elements 36.97/11.34 */ 36.97/11.34 E next(); 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Removes from the underlying collection the last element returned 36.97/11.34 * by this iterator (optional operation). This method can be called 36.97/11.34 * only once per call to {@link #next}. The behavior of an iterator 36.97/11.34 * is unspecified if the underlying collection is modified while the 36.97/11.34 * iteration is in progress in any way other than by calling this 36.97/11.34 * method. 36.97/11.34 * 36.97/11.34 * @throws UnsupportedOperationException if the {@code remove} 36.97/11.34 * operation is not supported by this iterator 36.97/11.34 * 36.97/11.34 * @throws IllegalStateException if the {@code next} method has not 36.97/11.34 * yet been called, or the {@code remove} method has already 36.97/11.34 * been called after the last call to the {@code next} 36.97/11.34 * method 36.97/11.34 */ 36.97/11.34 void remove(); 36.97/11.34 } 36.97/11.34 36.97/11.34 36.97/11.34 package javaUtilEx; 36.97/11.34 36.97/11.34 public class juLinkedListCreateContains { 36.97/11.34 public static void main(String[] args) { 36.97/11.34 Random.args = args; 36.97/11.34 36.97/11.34 LinkedList l = createList(Random.random()); 36.97/11.34 Content c = new Content(Random.random()); 36.97/11.34 if (Random.random() < 42) { 36.97/11.34 c = l.get(Random.random()); 36.97/11.34 } 36.97/11.34 l.contains(c); 36.97/11.34 } 36.97/11.34 36.97/11.34 public static LinkedList createList(int n) { 36.97/11.34 LinkedList l = new LinkedList(); 36.97/11.34 while (n > 0) { 36.97/11.34 l.addLast(new Content(Random.random())); 36.97/11.34 n--; 36.97/11.34 } 36.97/11.34 return l; 36.97/11.34 } 36.97/11.34 } 36.97/11.34 36.97/11.34 final class Content { 36.97/11.34 int val; 36.97/11.34 36.97/11.34 public Content(int v) { 36.97/11.34 this.val = v; 36.97/11.34 } 36.97/11.34 36.97/11.34 public int hashCode() { 36.97/11.34 return val^31; 36.97/11.34 } 36.97/11.34 36.97/11.34 public boolean equals(Object o) { 36.97/11.34 if (o instanceof Content) { 36.97/11.34 return this.val == ((Content) o).val; 36.97/11.34 } 36.97/11.34 return false; 36.97/11.34 } 36.97/11.34 } 36.97/11.34 36.97/11.34 36.97/11.34 /* 36.97/11.34 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.34 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.34 * 36.97/11.34 * This code is free software; you can redistribute it and/or modify it 36.97/11.34 * under the terms of the GNU General Public License version 2 only, as 36.97/11.34 * published by the Free Software Foundation. Sun designates this 36.97/11.34 * particular file as subject to the "Classpath" exception as provided 36.97/11.34 * by Sun in the LICENSE file that accompanied this code. 36.97/11.34 * 36.97/11.34 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.34 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.34 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.34 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.34 * accompanied this code). 36.97/11.34 * 36.97/11.34 * You should have received a copy of the GNU General Public License version 36.97/11.34 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.34 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.34 * 36.97/11.34 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.34 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.34 * have any questions. 36.97/11.34 */ 36.97/11.34 36.97/11.34 package javaUtilEx; 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Linked list implementation of the List interface. Implements all 36.97/11.34 * optional list operations, and permits all elements (including 36.97/11.34 * null). In addition to implementing the List interface, 36.97/11.34 * the LinkedList class provides uniformly named methods to 36.97/11.34 * get, remove and insert an element at the 36.97/11.34 * beginning and end of the list. These operations allow linked lists to be 36.97/11.34 * used as a stack, {@linkplain Queue queue}, or {@linkplain Deque 36.97/11.34 * double-ended queue}.

36.97/11.34 * 36.97/11.34 * The class implements the Deque interface, providing 36.97/11.34 * first-in-first-out queue operations for add, 36.97/11.34 * poll, along with other stack and deque operations.

36.97/11.34 * 36.97/11.34 * All of the operations perform as could be expected for a doubly-linked 36.97/11.34 * list. Operations that index into the list will traverse the list from 36.97/11.34 * the beginning or the end, whichever is closer to the specified index.

36.97/11.34 * 36.97/11.34 *

Note that this implementation is not synchronized. 36.97/11.34 * If multiple threads access a linked list concurrently, and at least 36.97/11.34 * one of the threads modifies the list structurally, it must be 36.97/11.34 * synchronized externally. (A structural modification is any operation 36.97/11.34 * that adds or deletes one or more elements; merely setting the value of 36.97/11.34 * an element is not a structural modification.) This is typically 36.97/11.34 * accomplished by synchronizing on some object that naturally 36.97/11.34 * encapsulates the list. 36.97/11.34 * 36.97/11.34 * If no such object exists, the list should be "wrapped" using the 36.97/11.34 * {@link Collections#synchronizedList Collections.synchronizedList} 36.97/11.34 * method. This is best done at creation time, to prevent accidental 36.97/11.34 * unsynchronized access to the list:

36.97/11.34	 *   List list = Collections.synchronizedList(new LinkedList(...));
36.97/11.34 * 36.97/11.34 *

The iterators returned by this class's iterator and 36.97/11.34 * listIterator methods are fail-fast: if the list is 36.97/11.34 * structurally modified at any time after the iterator is created, in 36.97/11.34 * any way except through the Iterator's own remove or 36.97/11.34 * add methods, the iterator will throw a {@link 36.97/11.34 * ConcurrentModificationException}. Thus, in the face of concurrent 36.97/11.34 * modification, the iterator fails quickly and cleanly, rather than 36.97/11.34 * risking arbitrary, non-deterministic behavior at an undetermined 36.97/11.34 * time in the future. 36.97/11.34 * 36.97/11.34 *

Note that the fail-fast behavior of an iterator cannot be guaranteed 36.97/11.34 * as it is, generally speaking, impossible to make any hard guarantees in the 36.97/11.34 * presence of unsynchronized concurrent modification. Fail-fast iterators 36.97/11.34 * throw ConcurrentModificationException on a best-effort basis. 36.97/11.34 * Therefore, it would be wrong to write a program that depended on this 36.97/11.34 * exception for its correctness: the fail-fast behavior of iterators 36.97/11.34 * should be used only to detect bugs. 36.97/11.34 * 36.97/11.34 *

This class is a member of the 36.97/11.34 * 36.97/11.34 * Java Collections Framework. 36.97/11.34 * 36.97/11.34 * @author Josh Bloch 36.97/11.34 * @see List 36.97/11.34 * @see ArrayList 36.97/11.34 * @see Vector 36.97/11.34 * @since 1.2 36.97/11.34 * @param the type of elements held in this collection 36.97/11.34 */ 36.97/11.34 36.97/11.34 public class LinkedList 36.97/11.34 extends AbstractSequentialList 36.97/11.34 implements List, Deque 36.97/11.34 { 36.97/11.34 private transient Entry header = new Entry(null, null, null); 36.97/11.34 private transient int size = 0; 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Constructs an empty list. 36.97/11.34 */ 36.97/11.34 public LinkedList() { 36.97/11.34 header.next = header.previous = header; 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Constructs a list containing the elements of the specified 36.97/11.34 * collection, in the order they are returned by the collection's 36.97/11.34 * iterator. 36.97/11.34 * 36.97/11.34 * @param c the collection whose elements are to be placed into this list 36.97/11.34 * @throws NullPointerException if the specified collection is null 36.97/11.34 */ 36.97/11.34 public LinkedList(Collection c) { 36.97/11.34 this(); 36.97/11.34 addAll(c); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Returns the first element in this list. 36.97/11.34 * 36.97/11.34 * @return the first element in this list 36.97/11.34 * @throws NoSuchElementException if this list is empty 36.97/11.34 */ 36.97/11.34 public E getFirst() { 36.97/11.34 if (size==0) 36.97/11.34 throw new NoSuchElementException(); 36.97/11.34 36.97/11.34 return header.next.element; 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Returns the last element in this list. 36.97/11.34 * 36.97/11.34 * @return the last element in this list 36.97/11.34 * @throws NoSuchElementException if this list is empty 36.97/11.34 */ 36.97/11.34 public E getLast() { 36.97/11.34 if (size==0) 36.97/11.34 throw new NoSuchElementException(); 36.97/11.34 36.97/11.34 return header.previous.element; 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Removes and returns the first element from this list. 36.97/11.34 * 36.97/11.34 * @return the first element from this list 36.97/11.34 * @throws NoSuchElementException if this list is empty 36.97/11.34 */ 36.97/11.34 public E removeFirst() { 36.97/11.34 return remove(header.next); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Removes and returns the last element from this list. 36.97/11.34 * 36.97/11.34 * @return the last element from this list 36.97/11.34 * @throws NoSuchElementException if this list is empty 36.97/11.34 */ 36.97/11.34 public E removeLast() { 36.97/11.34 return remove(header.previous); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Inserts the specified element at the beginning of this list. 36.97/11.34 * 36.97/11.34 * @param e the element to add 36.97/11.34 */ 36.97/11.34 public void addFirst(E e) { 36.97/11.34 addBefore(e, header.next); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Appends the specified element to the end of this list. 36.97/11.34 * 36.97/11.34 *

This method is equivalent to {@link #add}. 36.97/11.34 * 36.97/11.34 * @param e the element to add 36.97/11.34 */ 36.97/11.34 public void addLast(E e) { 36.97/11.34 addBefore(e, header); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Returns true if this list contains the specified element. 36.97/11.34 * More formally, returns true if and only if this list contains 36.97/11.34 * at least one element e such that 36.97/11.34 * (o==null ? e==null : o.equals(e)). 36.97/11.34 * 36.97/11.34 * @param o element whose presence in this list is to be tested 36.97/11.34 * @return true if this list contains the specified element 36.97/11.34 */ 36.97/11.34 public boolean contains(Object o) { 36.97/11.34 return indexOf(o) != -1; 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Returns the number of elements in this list. 36.97/11.34 * 36.97/11.34 * @return the number of elements in this list 36.97/11.34 */ 36.97/11.34 public int size() { 36.97/11.34 return size; 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Appends the specified element to the end of this list. 36.97/11.34 * 36.97/11.34 *

This method is equivalent to {@link #addLast}. 36.97/11.34 * 36.97/11.34 * @param e element to be appended to this list 36.97/11.34 * @return true (as specified by {@link Collection#add}) 36.97/11.34 */ 36.97/11.34 public boolean add(E e) { 36.97/11.34 addBefore(e, header); 36.97/11.34 return true; 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Removes the first occurrence of the specified element from this list, 36.97/11.34 * if it is present. If this list does not contain the element, it is 36.97/11.34 * unchanged. More formally, removes the element with the lowest index 36.97/11.34 * i such that 36.97/11.34 * (o==null ? get(i)==null : o.equals(get(i))) 36.97/11.34 * (if such an element exists). Returns true if this list 36.97/11.34 * contained the specified element (or equivalently, if this list 36.97/11.34 * changed as a result of the call). 36.97/11.34 * 36.97/11.34 * @param o element to be removed from this list, if present 36.97/11.34 * @return true if this list contained the specified element 36.97/11.34 */ 36.97/11.34 public boolean remove(Object o) { 36.97/11.34 if (o==null) { 36.97/11.34 for (Entry e = header.next; e != header; e = e.next) { 36.97/11.34 if (e.element==null) { 36.97/11.34 remove(e); 36.97/11.34 return true; 36.97/11.34 } 36.97/11.34 } 36.97/11.34 } else { 36.97/11.34 for (Entry e = header.next; e != header; e = e.next) { 36.97/11.34 if (o.equals(e.element)) { 36.97/11.34 remove(e); 36.97/11.34 return true; 36.97/11.34 } 36.97/11.34 } 36.97/11.34 } 36.97/11.34 return false; 36.97/11.34 } 36.97/11.34 /** 36.97/11.34 * Removes all of the elements from this list. 36.97/11.34 */ 36.97/11.34 public void clear() { 36.97/11.34 Entry e = header.next; 36.97/11.34 while (e != header) { 36.97/11.34 Entry next = e.next; 36.97/11.34 e.next = e.previous = null; 36.97/11.34 e.element = null; 36.97/11.34 e = next; 36.97/11.34 } 36.97/11.34 header.next = header.previous = header; 36.97/11.34 size = 0; 36.97/11.34 modCount++; 36.97/11.34 } 36.97/11.34 36.97/11.34 36.97/11.34 // Positional Access Operations 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Returns the element at the specified position in this list. 36.97/11.34 * 36.97/11.34 * @param index index of the element to return 36.97/11.34 * @return the element at the specified position in this list 36.97/11.34 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.34 */ 36.97/11.34 public E get(int index) { 36.97/11.34 return entry(index).element; 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Replaces the element at the specified position in this list with the 36.97/11.34 * specified element. 36.97/11.34 * 36.97/11.34 * @param index index of the element to replace 36.97/11.34 * @param element element to be stored at the specified position 36.97/11.34 * @return the element previously at the specified position 36.97/11.34 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.34 */ 36.97/11.34 public E set(int index, E element) { 36.97/11.34 Entry e = entry(index); 36.97/11.34 E oldVal = e.element; 36.97/11.34 e.element = element; 36.97/11.34 return oldVal; 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Inserts the specified element at the specified position in this list. 36.97/11.34 * Shifts the element currently at that position (if any) and any 36.97/11.34 * subsequent elements to the right (adds one to their indices). 36.97/11.34 * 36.97/11.34 * @param index index at which the specified element is to be inserted 36.97/11.34 * @param element element to be inserted 36.97/11.34 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.34 */ 36.97/11.34 public void add(int index, E element) { 36.97/11.34 addBefore(element, (index==size ? header : entry(index))); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Removes the element at the specified position in this list. Shifts any 36.97/11.34 * subsequent elements to the left (subtracts one from their indices). 36.97/11.34 * Returns the element that was removed from the list. 36.97/11.34 * 36.97/11.34 * @param index the index of the element to be removed 36.97/11.34 * @return the element previously at the specified position 36.97/11.34 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.34 */ 36.97/11.34 public E remove(int index) { 36.97/11.34 return remove(entry(index)); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Returns the indexed entry. 36.97/11.34 */ 36.97/11.34 private Entry entry(int index) { 36.97/11.34 if (index < 0 || index >= size) 36.97/11.34 throw new IndexOutOfBoundsException(); 36.97/11.34 Entry e = header; 36.97/11.34 if (index < (size >> 1)) { 36.97/11.34 for (int i = 0; i <= index; i++) 36.97/11.34 e = e.next; 36.97/11.34 } else { 36.97/11.34 for (int i = size; i > index; i--) 36.97/11.34 e = e.previous; 36.97/11.34 } 36.97/11.34 return e; 36.97/11.34 } 36.97/11.34 36.97/11.34 36.97/11.34 // Search Operations 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Returns the index of the first occurrence of the specified element 36.97/11.34 * in this list, or -1 if this list does not contain the element. 36.97/11.34 * More formally, returns the lowest index i such that 36.97/11.34 * (o==null ? get(i)==null : o.equals(get(i))), 36.97/11.34 * or -1 if there is no such index. 36.97/11.34 * 36.97/11.34 * @param o element to search for 36.97/11.34 * @return the index of the first occurrence of the specified element in 36.97/11.34 * this list, or -1 if this list does not contain the element 36.97/11.34 */ 36.97/11.34 public int indexOf(Object o) { 36.97/11.34 int index = 0; 36.97/11.34 if (o==null) { 36.97/11.34 for (Entry e = header.next; e != header; e = e.next) { 36.97/11.34 if (e.element==null) 36.97/11.34 return index; 36.97/11.34 index++; 36.97/11.34 } 36.97/11.34 } else { 36.97/11.34 for (Entry e = header.next; e != header; e = e.next) { 36.97/11.34 if (o.equals(e.element)) 36.97/11.34 return index; 36.97/11.34 index++; 36.97/11.34 } 36.97/11.34 } 36.97/11.34 return -1; 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Returns the index of the last occurrence of the specified element 36.97/11.34 * in this list, or -1 if this list does not contain the element. 36.97/11.34 * More formally, returns the highest index i such that 36.97/11.34 * (o==null ? get(i)==null : o.equals(get(i))), 36.97/11.34 * or -1 if there is no such index. 36.97/11.34 * 36.97/11.34 * @param o element to search for 36.97/11.34 * @return the index of the last occurrence of the specified element in 36.97/11.34 * this list, or -1 if this list does not contain the element 36.97/11.34 */ 36.97/11.34 public int lastIndexOf(Object o) { 36.97/11.34 int index = size; 36.97/11.34 if (o==null) { 36.97/11.34 for (Entry e = header.previous; e != header; e = e.previous) { 36.97/11.34 index--; 36.97/11.34 if (e.element==null) 36.97/11.34 return index; 36.97/11.34 } 36.97/11.34 } else { 36.97/11.34 for (Entry e = header.previous; e != header; e = e.previous) { 36.97/11.34 index--; 36.97/11.34 if (o.equals(e.element)) 36.97/11.34 return index; 36.97/11.34 } 36.97/11.34 } 36.97/11.34 return -1; 36.97/11.34 } 36.97/11.34 36.97/11.34 // Queue operations. 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Retrieves, but does not remove, the head (first element) of this list. 36.97/11.34 * @return the head of this list, or null if this list is empty 36.97/11.34 * @since 1.5 36.97/11.34 */ 36.97/11.34 public E peek() { 36.97/11.34 if (size==0) 36.97/11.34 return null; 36.97/11.34 return getFirst(); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Retrieves, but does not remove, the head (first element) of this list. 36.97/11.34 * @return the head of this list 36.97/11.34 * @throws NoSuchElementException if this list is empty 36.97/11.34 * @since 1.5 36.97/11.34 */ 36.97/11.34 public E element() { 36.97/11.34 return getFirst(); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Retrieves and removes the head (first element) of this list 36.97/11.34 * @return the head of this list, or null if this list is empty 36.97/11.34 * @since 1.5 36.97/11.34 */ 36.97/11.34 public E poll() { 36.97/11.34 if (size==0) 36.97/11.34 return null; 36.97/11.34 return removeFirst(); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Retrieves and removes the head (first element) of this list. 36.97/11.34 * 36.97/11.34 * @return the head of this list 36.97/11.34 * @throws NoSuchElementException if this list is empty 36.97/11.34 * @since 1.5 36.97/11.34 */ 36.97/11.34 public E remove() { 36.97/11.34 return removeFirst(); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Adds the specified element as the tail (last element) of this list. 36.97/11.34 * 36.97/11.34 * @param e the element to add 36.97/11.34 * @return true (as specified by {@link Queue#offer}) 36.97/11.34 * @since 1.5 36.97/11.34 */ 36.97/11.34 public boolean offer(E e) { 36.97/11.34 return add(e); 36.97/11.34 } 36.97/11.34 36.97/11.34 // Deque operations 36.97/11.34 /** 36.97/11.34 * Inserts the specified element at the front of this list. 36.97/11.34 * 36.97/11.34 * @param e the element to insert 36.97/11.34 * @return true (as specified by {@link Deque#offerFirst}) 36.97/11.34 * @since 1.6 36.97/11.34 */ 36.97/11.34 public boolean offerFirst(E e) { 36.97/11.34 addFirst(e); 36.97/11.34 return true; 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Inserts the specified element at the end of this list. 36.97/11.34 * 36.97/11.34 * @param e the element to insert 36.97/11.34 * @return true (as specified by {@link Deque#offerLast}) 36.97/11.34 * @since 1.6 36.97/11.34 */ 36.97/11.34 public boolean offerLast(E e) { 36.97/11.34 addLast(e); 36.97/11.34 return true; 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Retrieves, but does not remove, the first element of this list, 36.97/11.34 * or returns null if this list is empty. 36.97/11.34 * 36.97/11.34 * @return the first element of this list, or null 36.97/11.34 * if this list is empty 36.97/11.34 * @since 1.6 36.97/11.34 */ 36.97/11.34 public E peekFirst() { 36.97/11.34 if (size==0) 36.97/11.34 return null; 36.97/11.34 return getFirst(); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Retrieves, but does not remove, the last element of this list, 36.97/11.34 * or returns null if this list is empty. 36.97/11.34 * 36.97/11.34 * @return the last element of this list, or null 36.97/11.34 * if this list is empty 36.97/11.34 * @since 1.6 36.97/11.34 */ 36.97/11.34 public E peekLast() { 36.97/11.34 if (size==0) 36.97/11.34 return null; 36.97/11.34 return getLast(); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Retrieves and removes the first element of this list, 36.97/11.34 * or returns null if this list is empty. 36.97/11.34 * 36.97/11.34 * @return the first element of this list, or null if 36.97/11.34 * this list is empty 36.97/11.34 * @since 1.6 36.97/11.34 */ 36.97/11.34 public E pollFirst() { 36.97/11.34 if (size==0) 36.97/11.34 return null; 36.97/11.34 return removeFirst(); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Retrieves and removes the last element of this list, 36.97/11.34 * or returns null if this list is empty. 36.97/11.34 * 36.97/11.34 * @return the last element of this list, or null if 36.97/11.34 * this list is empty 36.97/11.34 * @since 1.6 36.97/11.34 */ 36.97/11.34 public E pollLast() { 36.97/11.34 if (size==0) 36.97/11.34 return null; 36.97/11.34 return removeLast(); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Pushes an element onto the stack represented by this list. In other 36.97/11.34 * words, inserts the element at the front of this list. 36.97/11.34 * 36.97/11.34 *

This method is equivalent to {@link #addFirst}. 36.97/11.34 * 36.97/11.34 * @param e the element to push 36.97/11.34 * @since 1.6 36.97/11.34 */ 36.97/11.34 public void push(E e) { 36.97/11.34 addFirst(e); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Pops an element from the stack represented by this list. In other 36.97/11.34 * words, removes and returns the first element of this list. 36.97/11.34 * 36.97/11.34 *

This method is equivalent to {@link #removeFirst()}. 36.97/11.34 * 36.97/11.34 * @return the element at the front of this list (which is the top 36.97/11.34 * of the stack represented by this list) 36.97/11.34 * @throws NoSuchElementException if this list is empty 36.97/11.34 * @since 1.6 36.97/11.34 */ 36.97/11.34 public E pop() { 36.97/11.34 return removeFirst(); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Removes the first occurrence of the specified element in this 36.97/11.34 * list (when traversing the list from head to tail). If the list 36.97/11.34 * does not contain the element, it is unchanged. 36.97/11.34 * 36.97/11.34 * @param o element to be removed from this list, if present 36.97/11.34 * @return true if the list contained the specified element 36.97/11.34 * @since 1.6 36.97/11.34 */ 36.97/11.34 public boolean removeFirstOccurrence(Object o) { 36.97/11.34 return remove(o); 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Removes the last occurrence of the specified element in this 36.97/11.34 * list (when traversing the list from head to tail). If the list 36.97/11.34 * does not contain the element, it is unchanged. 36.97/11.34 * 36.97/11.34 * @param o element to be removed from this list, if present 36.97/11.34 * @return true if the list contained the specified element 36.97/11.34 * @since 1.6 36.97/11.34 */ 36.97/11.34 public boolean removeLastOccurrence(Object o) { 36.97/11.34 if (o==null) { 36.97/11.34 for (Entry e = header.previous; e != header; e = e.previous) { 36.97/11.34 if (e.element==null) { 36.97/11.34 remove(e); 36.97/11.34 return true; 36.97/11.34 } 36.97/11.34 } 36.97/11.34 } else { 36.97/11.34 for (Entry e = header.previous; e != header; e = e.previous) { 36.97/11.34 if (o.equals(e.element)) { 36.97/11.34 remove(e); 36.97/11.34 return true; 36.97/11.34 } 36.97/11.34 } 36.97/11.34 } 36.97/11.34 return false; 36.97/11.34 } 36.97/11.34 36.97/11.34 /** 36.97/11.34 * Returns a list-iterator of the elements in this list (in proper 36.97/11.34 * sequence), starting at the specified position in the list. 36.97/11.34 * Obeys the general contract of List.listIterator(int).

36.97/11.34 * 36.97/11.34 * The list-iterator is fail-fast: if the list is structurally 36.97/11.34 * modified at any time after the Iterator is created, in any way except 36.97/11.34 * through the list-iterator's own remove or add 36.97/11.34 * methods, the list-iterator will throw a 36.97/11.34 * ConcurrentModificationException. Thus, in the face of 36.97/11.34 * concurrent modification, the iterator fails quickly and cleanly, rather 36.97/11.34 * than risking arbitrary, non-deterministic behavior at an undetermined 36.97/11.34 * time in the future. 36.97/11.34 * 36.97/11.34 * @param index index of the first element to be returned from the 36.97/11.34 * list-iterator (by a call to next) 36.97/11.34 * @return a ListIterator of the elements in this list (in proper 36.97/11.34 * sequence), starting at the specified position in the list 36.97/11.34 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.34 * @see List#listIterator(int) 36.97/11.34 */ 36.97/11.34 public ListIterator listIterator(int index) { 36.97/11.34 return new ListItr(index); 36.97/11.34 } 36.97/11.34 36.97/11.34 private class ListItr implements ListIterator { 36.97/11.34 private Entry lastReturned = header; 36.97/11.34 private Entry next; 36.97/11.34 private int nextIndex; 36.97/11.34 private int expectedModCount = modCount; 36.97/11.34 36.97/11.34 ListItr(int index) { 36.97/11.34 if (index < 0 || index > size) 36.97/11.34 throw new IndexOutOfBoundsException(); 36.97/11.34 if (index < (size >> 1)) { 36.97/11.34 next = header.next; 36.97/11.34 for (nextIndex=0; nextIndexindex; nextIndex--) 36.97/11.34 next = next.previous; 36.97/11.34 } 36.97/11.34 } 36.97/11.34 36.97/11.34 public boolean hasNext() { 36.97/11.34 return nextIndex != size; 36.97/11.34 } 36.97/11.34 36.97/11.34 public E next() { 36.97/11.34 checkForComodification(); 36.97/11.34 if (nextIndex == size) 36.97/11.34 throw new NoSuchElementException(); 36.97/11.34 36.97/11.34 lastReturned = next; 36.97/11.34 next = next.next; 36.97/11.34 nextIndex++; 36.97/11.34 return lastReturned.element; 36.97/11.34 } 36.97/11.34 36.97/11.34 public boolean hasPrevious() { 36.97/11.34 return nextIndex != 0; 36.97/11.34 } 36.97/11.34 36.97/11.34 public E previous() { 36.97/11.34 if (nextIndex == 0) 36.97/11.34 throw new NoSuchElementException(); 36.97/11.34 36.97/11.34 lastReturned = next = next.previous; 36.97/11.34 nextIndex--; 36.97/11.34 checkForComodification(); 36.97/11.34 return lastReturned.element; 36.97/11.34 } 36.97/11.34 36.97/11.34 public int nextIndex() { 36.97/11.34 return nextIndex; 36.97/11.34 } 36.97/11.34 36.97/11.34 public int previousIndex() { 36.97/11.34 return nextIndex-1; 36.97/11.34 } 36.97/11.34 36.97/11.34 public void remove() { 36.97/11.34 checkForComodification(); 36.97/11.34 Entry lastNext = lastReturned.next; 36.97/11.35 try { 36.97/11.35 LinkedList.this.remove(lastReturned); 36.97/11.35 } catch (NoSuchElementException e) { 36.97/11.35 throw new IllegalStateException(); 36.97/11.35 } 36.97/11.35 if (next==lastReturned) 36.97/11.35 next = lastNext; 36.97/11.35 else 36.97/11.35 nextIndex--; 36.97/11.35 lastReturned = header; 36.97/11.35 expectedModCount++; 36.97/11.35 } 36.97/11.35 36.97/11.35 public void set(E e) { 36.97/11.35 if (lastReturned == header) 36.97/11.35 throw new IllegalStateException(); 36.97/11.35 checkForComodification(); 36.97/11.35 lastReturned.element = e; 36.97/11.35 } 36.97/11.35 36.97/11.35 public void add(E e) { 36.97/11.35 checkForComodification(); 36.97/11.35 lastReturned = header; 36.97/11.35 addBefore(e, next); 36.97/11.35 nextIndex++; 36.97/11.35 expectedModCount++; 36.97/11.35 } 36.97/11.35 36.97/11.35 final void checkForComodification() { 36.97/11.35 if (modCount != expectedModCount) 36.97/11.35 throw new ConcurrentModificationException(); 36.97/11.35 } 36.97/11.35 } 36.97/11.35 36.97/11.35 private static class Entry { 36.97/11.35 E element; 36.97/11.35 Entry next; 36.97/11.35 Entry previous; 36.97/11.35 36.97/11.35 Entry(E element, Entry next, Entry previous) { 36.97/11.35 this.element = element; 36.97/11.35 this.next = next; 36.97/11.35 this.previous = previous; 36.97/11.35 } 36.97/11.35 } 36.97/11.35 36.97/11.35 private Entry addBefore(E e, Entry entry) { 36.97/11.35 Entry newEntry = new Entry(e, entry, entry.previous); 36.97/11.35 newEntry.previous.next = newEntry; 36.97/11.35 newEntry.next.previous = newEntry; 36.97/11.35 size++; 36.97/11.35 modCount++; 36.97/11.35 return newEntry; 36.97/11.35 } 36.97/11.35 36.97/11.35 private E remove(Entry e) { 36.97/11.35 if (e == header) 36.97/11.35 throw new NoSuchElementException(); 36.97/11.35 36.97/11.35 E result = e.element; 36.97/11.35 e.previous.next = e.next; 36.97/11.35 e.next.previous = e.previous; 36.97/11.35 e.next = e.previous = null; 36.97/11.35 e.element = null; 36.97/11.35 size--; 36.97/11.35 modCount++; 36.97/11.35 return result; 36.97/11.35 } 36.97/11.35 36.97/11.35 /** 36.97/11.35 * @since 1.6 36.97/11.35 */ 36.97/11.35 public Iterator descendingIterator() { 36.97/11.35 return new DescendingIterator(); 36.97/11.35 } 36.97/11.35 36.97/11.35 /** Adapter to provide descending iterators via ListItr.previous */ 36.97/11.35 private class DescendingIterator implements Iterator { 36.97/11.35 final ListItr itr = new ListItr(size()); 36.97/11.35 public boolean hasNext() { 36.97/11.35 return itr.hasPrevious(); 36.97/11.35 } 36.97/11.35 public E next() { 36.97/11.35 return itr.previous(); 36.97/11.35 } 36.97/11.35 public void remove() { 36.97/11.35 itr.remove(); 36.97/11.35 } 36.97/11.35 } 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns an array containing all of the elements in this list 36.97/11.35 * in proper sequence (from first to last element). 36.97/11.35 * 36.97/11.35 *

The returned array will be "safe" in that no references to it are 36.97/11.35 * maintained by this list. (In other words, this method must allocate 36.97/11.35 * a new array). The caller is thus free to modify the returned array. 36.97/11.35 * 36.97/11.35 *

This method acts as bridge between array-based and collection-based 36.97/11.35 * APIs. 36.97/11.35 * 36.97/11.35 * @return an array containing all of the elements in this list 36.97/11.35 * in proper sequence 36.97/11.35 */ 36.97/11.35 public Object[] toArray() { 36.97/11.35 Object[] result = new Object[size]; 36.97/11.35 int i = 0; 36.97/11.35 for (Entry e = header.next; e != header; e = e.next) 36.97/11.35 result[i++] = e.element; 36.97/11.35 return result; 36.97/11.35 } 36.97/11.35 36.97/11.35 private static final long serialVersionUID = 876323262645176354L; 36.97/11.35 } 36.97/11.35 36.97/11.35 36.97/11.35 /* 36.97/11.35 * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.35 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.35 * 36.97/11.35 * This code is free software; you can redistribute it and/or modify it 36.97/11.35 * under the terms of the GNU General Public License version 2 only, as 36.97/11.35 * published by the Free Software Foundation. Sun designates this 36.97/11.35 * particular file as subject to the "Classpath" exception as provided 36.97/11.35 * by Sun in the LICENSE file that accompanied this code. 36.97/11.35 * 36.97/11.35 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.35 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.35 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.35 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.35 * accompanied this code). 36.97/11.35 * 36.97/11.35 * You should have received a copy of the GNU General Public License version 36.97/11.35 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.35 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.35 * 36.97/11.35 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.35 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.35 * have any questions. 36.97/11.35 */ 36.97/11.35 36.97/11.35 package javaUtilEx; 36.97/11.35 36.97/11.35 /** 36.97/11.35 * An iterator for lists that allows the programmer 36.97/11.35 * to traverse the list in either direction, modify 36.97/11.35 * the list during iteration, and obtain the iterator's 36.97/11.35 * current position in the list. A {@code ListIterator} 36.97/11.35 * has no current element; its cursor position always 36.97/11.35 * lies between the element that would be returned by a call 36.97/11.35 * to {@code previous()} and the element that would be 36.97/11.35 * returned by a call to {@code next()}. 36.97/11.35 * An iterator for a list of length {@code n} has {@code n+1} possible 36.97/11.35 * cursor positions, as illustrated by the carets ({@code ^}) below: 36.97/11.35 *

36.97/11.35	 *                      Element(0)   Element(1)   Element(2)   ... Element(n-1)
36.97/11.35	 * cursor positions:  ^            ^            ^            ^                  ^
36.97/11.35	 * 
36.97/11.35 * Note that the {@link #remove} and {@link #set(Object)} methods are 36.97/11.35 * not defined in terms of the cursor position; they are defined to 36.97/11.35 * operate on the last element returned by a call to {@link #next} or 36.97/11.35 * {@link #previous()}. 36.97/11.35 * 36.97/11.35 *

This interface is a member of the 36.97/11.35 * 36.97/11.35 * Java Collections Framework. 36.97/11.35 * 36.97/11.35 * @author Josh Bloch 36.97/11.35 * @see Collection 36.97/11.35 * @see List 36.97/11.35 * @see Iterator 36.97/11.35 * @see Enumeration 36.97/11.35 * @see List#listIterator() 36.97/11.35 * @since 1.2 36.97/11.35 */ 36.97/11.35 public interface ListIterator extends Iterator { 36.97/11.35 // Query Operations 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns {@code true} if this list iterator has more elements when 36.97/11.35 * traversing the list in the forward direction. (In other words, 36.97/11.35 * returns {@code true} if {@link #next} would return an element rather 36.97/11.35 * than throwing an exception.) 36.97/11.35 * 36.97/11.35 * @return {@code true} if the list iterator has more elements when 36.97/11.35 * traversing the list in the forward direction 36.97/11.35 */ 36.97/11.35 boolean hasNext(); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns the next element in the list and advances the cursor position. 36.97/11.35 * This method may be called repeatedly to iterate through the list, 36.97/11.35 * or intermixed with calls to {@link #previous} to go back and forth. 36.97/11.35 * (Note that alternating calls to {@code next} and {@code previous} 36.97/11.35 * will return the same element repeatedly.) 36.97/11.35 * 36.97/11.35 * @return the next element in the list 36.97/11.35 * @throws NoSuchElementException if the iteration has no next element 36.97/11.35 */ 36.97/11.35 E next(); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns {@code true} if this list iterator has more elements when 36.97/11.35 * traversing the list in the reverse direction. (In other words, 36.97/11.35 * returns {@code true} if {@link #previous} would return an element 36.97/11.35 * rather than throwing an exception.) 36.97/11.35 * 36.97/11.35 * @return {@code true} if the list iterator has more elements when 36.97/11.35 * traversing the list in the reverse direction 36.97/11.35 */ 36.97/11.35 boolean hasPrevious(); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns the previous element in the list and moves the cursor 36.97/11.35 * position backwards. This method may be called repeatedly to 36.97/11.35 * iterate through the list backwards, or intermixed with calls to 36.97/11.35 * {@link #next} to go back and forth. (Note that alternating calls 36.97/11.35 * to {@code next} and {@code previous} will return the same 36.97/11.35 * element repeatedly.) 36.97/11.35 * 36.97/11.35 * @return the previous element in the list 36.97/11.35 * @throws NoSuchElementException if the iteration has no previous 36.97/11.35 * element 36.97/11.35 */ 36.97/11.35 E previous(); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns the index of the element that would be returned by a 36.97/11.35 * subsequent call to {@link #next}. (Returns list size if the list 36.97/11.35 * iterator is at the end of the list.) 36.97/11.35 * 36.97/11.35 * @return the index of the element that would be returned by a 36.97/11.35 * subsequent call to {@code next}, or list size if the list 36.97/11.35 * iterator is at the end of the list 36.97/11.35 */ 36.97/11.35 int nextIndex(); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns the index of the element that would be returned by a 36.97/11.35 * subsequent call to {@link #previous}. (Returns -1 if the list 36.97/11.35 * iterator is at the beginning of the list.) 36.97/11.35 * 36.97/11.35 * @return the index of the element that would be returned by a 36.97/11.35 * subsequent call to {@code previous}, or -1 if the list 36.97/11.35 * iterator is at the beginning of the list 36.97/11.35 */ 36.97/11.35 int previousIndex(); 36.97/11.35 36.97/11.35 36.97/11.35 // Modification Operations 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Removes from the list the last element that was returned by {@link 36.97/11.35 * #next} or {@link #previous} (optional operation). This call can 36.97/11.35 * only be made once per call to {@code next} or {@code previous}. 36.97/11.35 * It can be made only if {@link #add} has not been 36.97/11.35 * called after the last call to {@code next} or {@code previous}. 36.97/11.35 * 36.97/11.35 * @throws UnsupportedOperationException if the {@code remove} 36.97/11.35 * operation is not supported by this list iterator 36.97/11.35 * @throws IllegalStateException if neither {@code next} nor 36.97/11.35 * {@code previous} have been called, or {@code remove} or 36.97/11.35 * {@code add} have been called after the last call to 36.97/11.35 * {@code next} or {@code previous} 36.97/11.35 */ 36.97/11.35 void remove(); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Replaces the last element returned by {@link #next} or 36.97/11.35 * {@link #previous} with the specified element (optional operation). 36.97/11.35 * This call can be made only if neither {@link #remove} nor {@link 36.97/11.35 * #add} have been called after the last call to {@code next} or 36.97/11.35 * {@code previous}. 36.97/11.35 * 36.97/11.35 * @param e the element with which to replace the last element returned by 36.97/11.35 * {@code next} or {@code previous} 36.97/11.35 * @throws UnsupportedOperationException if the {@code set} operation 36.97/11.35 * is not supported by this list iterator 36.97/11.35 * @throws ClassCastException if the class of the specified element 36.97/11.35 * prevents it from being added to this list 36.97/11.35 * @throws IllegalArgumentException if some aspect of the specified 36.97/11.35 * element prevents it from being added to this list 36.97/11.35 * @throws IllegalStateException if neither {@code next} nor 36.97/11.35 * {@code previous} have been called, or {@code remove} or 36.97/11.35 * {@code add} have been called after the last call to 36.97/11.35 * {@code next} or {@code previous} 36.97/11.35 */ 36.97/11.35 void set(E e); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Inserts the specified element into the list (optional operation). 36.97/11.35 * The element is inserted immediately before the next element that 36.97/11.35 * would be returned by {@link #next}, if any, and after the next 36.97/11.35 * element that would be returned by {@link #previous}, if any. (If the 36.97/11.35 * list contains no elements, the new element becomes the sole element 36.97/11.35 * on the list.) The new element is inserted before the implicit 36.97/11.35 * cursor: a subsequent call to {@code next} would be unaffected, and a 36.97/11.35 * subsequent call to {@code previous} would return the new element. 36.97/11.35 * (This call increases by one the value that would be returned by a 36.97/11.35 * call to {@code nextIndex} or {@code previousIndex}.) 36.97/11.35 * 36.97/11.35 * @param e the element to insert 36.97/11.35 * @throws UnsupportedOperationException if the {@code add} method is 36.97/11.35 * not supported by this list iterator 36.97/11.35 * @throws ClassCastException if the class of the specified element 36.97/11.35 * prevents it from being added to this list 36.97/11.35 * @throws IllegalArgumentException if some aspect of this element 36.97/11.35 * prevents it from being added to this list 36.97/11.35 */ 36.97/11.35 void add(E e); 36.97/11.35 } 36.97/11.35 36.97/11.35 36.97/11.35 /* 36.97/11.35 * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.35 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.35 * 36.97/11.35 * This code is free software; you can redistribute it and/or modify it 36.97/11.35 * under the terms of the GNU General Public License version 2 only, as 36.97/11.35 * published by the Free Software Foundation. Sun designates this 36.97/11.35 * particular file as subject to the "Classpath" exception as provided 36.97/11.35 * by Sun in the LICENSE file that accompanied this code. 36.97/11.35 * 36.97/11.35 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.35 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.35 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.35 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.35 * accompanied this code). 36.97/11.35 * 36.97/11.35 * You should have received a copy of the GNU General Public License version 36.97/11.35 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.35 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.35 * 36.97/11.35 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.35 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.35 * have any questions. 36.97/11.35 */ 36.97/11.35 36.97/11.35 package javaUtilEx; 36.97/11.35 36.97/11.35 /** 36.97/11.35 * An ordered collection (also known as a sequence). The user of this 36.97/11.35 * interface has precise control over where in the list each element is 36.97/11.35 * inserted. The user can access elements by their integer index (position in 36.97/11.35 * the list), and search for elements in the list.

36.97/11.35 * 36.97/11.35 * Unlike sets, lists typically allow duplicate elements. More formally, 36.97/11.35 * lists typically allow pairs of elements e1 and e2 36.97/11.35 * such that e1.equals(e2), and they typically allow multiple 36.97/11.35 * null elements if they allow null elements at all. It is not inconceivable 36.97/11.35 * that someone might wish to implement a list that prohibits duplicates, by 36.97/11.35 * throwing runtime exceptions when the user attempts to insert them, but we 36.97/11.35 * expect this usage to be rare.

36.97/11.35 * 36.97/11.35 * The List interface places additional stipulations, beyond those 36.97/11.35 * specified in the Collection interface, on the contracts of the 36.97/11.35 * iterator, add, remove, equals, and 36.97/11.35 * hashCode methods. Declarations for other inherited methods are 36.97/11.35 * also included here for convenience.

36.97/11.35 * 36.97/11.35 * The List interface provides four methods for positional (indexed) 36.97/11.35 * access to list elements. Lists (like Java arrays) are zero based. Note 36.97/11.35 * that these operations may execute in time proportional to the index value 36.97/11.35 * for some implementations (the LinkedList class, for 36.97/11.35 * example). Thus, iterating over the elements in a list is typically 36.97/11.35 * preferable to indexing through it if the caller does not know the 36.97/11.35 * implementation.

36.97/11.35 * 36.97/11.35 * The List interface provides a special iterator, called a 36.97/11.35 * ListIterator, that allows element insertion and replacement, and 36.97/11.35 * bidirectional access in addition to the normal operations that the 36.97/11.35 * Iterator interface provides. A method is provided to obtain a 36.97/11.35 * list iterator that starts at a specified position in the list.

36.97/11.35 * 36.97/11.35 * The List interface provides two methods to search for a specified 36.97/11.35 * object. From a performance standpoint, these methods should be used with 36.97/11.35 * caution. In many implementations they will perform costly linear 36.97/11.35 * searches.

36.97/11.35 * 36.97/11.35 * The List interface provides two methods to efficiently insert and 36.97/11.35 * remove multiple elements at an arbitrary point in the list.

36.97/11.35 * 36.97/11.35 * Note: While it is permissible for lists to contain themselves as elements, 36.97/11.35 * extreme caution is advised: the equals and hashCode 36.97/11.35 * methods are no longer well defined on such a list. 36.97/11.35 * 36.97/11.35 *

Some list implementations have restrictions on the elements that 36.97/11.35 * they may contain. For example, some implementations prohibit null elements, 36.97/11.35 * and some have restrictions on the types of their elements. Attempting to 36.97/11.35 * add an ineligible element throws an unchecked exception, typically 36.97/11.35 * NullPointerException or ClassCastException. Attempting 36.97/11.35 * to query the presence of an ineligible element may throw an exception, 36.97/11.35 * or it may simply return false; some implementations will exhibit the former 36.97/11.35 * behavior and some will exhibit the latter. More generally, attempting an 36.97/11.35 * operation on an ineligible element whose completion would not result in 36.97/11.35 * the insertion of an ineligible element into the list may throw an 36.97/11.35 * exception or it may succeed, at the option of the implementation. 36.97/11.35 * Such exceptions are marked as "optional" in the specification for this 36.97/11.35 * interface. 36.97/11.35 * 36.97/11.35 *

This interface is a member of the 36.97/11.35 * 36.97/11.35 * Java Collections Framework. 36.97/11.35 * 36.97/11.35 * @author Josh Bloch 36.97/11.35 * @author Neal Gafter 36.97/11.35 * @see Collection 36.97/11.35 * @see Set 36.97/11.35 * @see ArrayList 36.97/11.35 * @see LinkedList 36.97/11.35 * @see Vector 36.97/11.35 * @see Arrays#asList(Object[]) 36.97/11.35 * @see Collections#nCopies(int, Object) 36.97/11.35 * @see Collections#EMPTY_LIST 36.97/11.35 * @see AbstractList 36.97/11.35 * @see AbstractSequentialList 36.97/11.35 * @since 1.2 36.97/11.35 */ 36.97/11.35 36.97/11.35 public interface List extends Collection { 36.97/11.35 // Query Operations 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns the number of elements in this list. If this list contains 36.97/11.35 * more than Integer.MAX_VALUE elements, returns 36.97/11.35 * Integer.MAX_VALUE. 36.97/11.35 * 36.97/11.35 * @return the number of elements in this list 36.97/11.35 */ 36.97/11.35 int size(); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns true if this list contains no elements. 36.97/11.35 * 36.97/11.35 * @return true if this list contains no elements 36.97/11.35 */ 36.97/11.35 boolean isEmpty(); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns true if this list contains the specified element. 36.97/11.35 * More formally, returns true if and only if this list contains 36.97/11.35 * at least one element e such that 36.97/11.35 * (o==null ? e==null : o.equals(e)). 36.97/11.35 * 36.97/11.35 * @param o element whose presence in this list is to be tested 36.97/11.35 * @return true if this list contains the specified element 36.97/11.35 * @throws ClassCastException if the type of the specified element 36.97/11.35 * is incompatible with this list (optional) 36.97/11.35 * @throws NullPointerException if the specified element is null and this 36.97/11.35 * list does not permit null elements (optional) 36.97/11.35 */ 36.97/11.35 boolean contains(Object o); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns an iterator over the elements in this list in proper sequence. 36.97/11.35 * 36.97/11.35 * @return an iterator over the elements in this list in proper sequence 36.97/11.35 */ 36.97/11.35 Iterator iterator(); 36.97/11.35 36.97/11.35 // Modification Operations 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Appends the specified element to the end of this list (optional 36.97/11.35 * operation). 36.97/11.35 * 36.97/11.35 *

Lists that support this operation may place limitations on what 36.97/11.35 * elements may be added to this list. In particular, some 36.97/11.35 * lists will refuse to add null elements, and others will impose 36.97/11.35 * restrictions on the type of elements that may be added. List 36.97/11.35 * classes should clearly specify in their documentation any restrictions 36.97/11.35 * on what elements may be added. 36.97/11.35 * 36.97/11.35 * @param e element to be appended to this list 36.97/11.35 * @return true (as specified by {@link Collection#add}) 36.97/11.35 * @throws UnsupportedOperationException if the add operation 36.97/11.35 * is not supported by this list 36.97/11.35 * @throws ClassCastException if the class of the specified element 36.97/11.35 * prevents it from being added to this list 36.97/11.35 * @throws NullPointerException if the specified element is null and this 36.97/11.35 * list does not permit null elements 36.97/11.35 * @throws IllegalArgumentException if some property of this element 36.97/11.35 * prevents it from being added to this list 36.97/11.35 */ 36.97/11.35 boolean add(E e); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Removes the first occurrence of the specified element from this list, 36.97/11.35 * if it is present (optional operation). If this list does not contain 36.97/11.35 * the element, it is unchanged. More formally, removes the element with 36.97/11.35 * the lowest index i such that 36.97/11.35 * (o==null ? get(i)==null : o.equals(get(i))) 36.97/11.35 * (if such an element exists). Returns true if this list 36.97/11.35 * contained the specified element (or equivalently, if this list changed 36.97/11.35 * as a result of the call). 36.97/11.35 * 36.97/11.35 * @param o element to be removed from this list, if present 36.97/11.35 * @return true if this list contained the specified element 36.97/11.35 * @throws ClassCastException if the type of the specified element 36.97/11.35 * is incompatible with this list (optional) 36.97/11.35 * @throws NullPointerException if the specified element is null and this 36.97/11.35 * list does not permit null elements (optional) 36.97/11.35 * @throws UnsupportedOperationException if the remove operation 36.97/11.35 * is not supported by this list 36.97/11.35 */ 36.97/11.35 boolean remove(Object o); 36.97/11.35 36.97/11.35 36.97/11.35 // Bulk Modification Operations 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns true if this list contains all of the elements of the 36.97/11.35 * specified collection. 36.97/11.35 * 36.97/11.35 * @param c collection to be checked for containment in this list 36.97/11.35 * @return true if this list contains all of the elements of the 36.97/11.35 * specified collection 36.97/11.35 * @throws ClassCastException if the types of one or more elements 36.97/11.35 * in the specified collection are incompatible with this 36.97/11.35 * list (optional) 36.97/11.35 * @throws NullPointerException if the specified collection contains one 36.97/11.35 * or more null elements and this list does not permit null 36.97/11.35 * elements (optional), or if the specified collection is null 36.97/11.35 * @see #contains(Object) 36.97/11.35 */ 36.97/11.35 boolean containsAll(Collection c); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Appends all of the elements in the specified collection to the end of 36.97/11.35 * this list, in the order that they are returned by the specified 36.97/11.35 * collection's iterator (optional operation). The behavior of this 36.97/11.35 * operation is undefined if the specified collection is modified while 36.97/11.35 * the operation is in progress. (Note that this will occur if the 36.97/11.35 * specified collection is this list, and it's nonempty.) 36.97/11.35 * 36.97/11.35 * @param c collection containing elements to be added to this list 36.97/11.35 * @return true if this list changed as a result of the call 36.97/11.35 * @throws UnsupportedOperationException if the addAll operation 36.97/11.35 * is not supported by this list 36.97/11.35 * @throws ClassCastException if the class of an element of the specified 36.97/11.35 * collection prevents it from being added to this list 36.97/11.35 * @throws NullPointerException if the specified collection contains one 36.97/11.35 * or more null elements and this list does not permit null 36.97/11.35 * elements, or if the specified collection is null 36.97/11.35 * @throws IllegalArgumentException if some property of an element of the 36.97/11.35 * specified collection prevents it from being added to this list 36.97/11.35 * @see #add(Object) 36.97/11.35 */ 36.97/11.35 boolean addAll(Collection c); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Inserts all of the elements in the specified collection into this 36.97/11.35 * list at the specified position (optional operation). Shifts the 36.97/11.35 * element currently at that position (if any) and any subsequent 36.97/11.35 * elements to the right (increases their indices). The new elements 36.97/11.35 * will appear in this list in the order that they are returned by the 36.97/11.35 * specified collection's iterator. The behavior of this operation is 36.97/11.35 * undefined if the specified collection is modified while the 36.97/11.35 * operation is in progress. (Note that this will occur if the specified 36.97/11.35 * collection is this list, and it's nonempty.) 36.97/11.35 * 36.97/11.35 * @param index index at which to insert the first element from the 36.97/11.35 * specified collection 36.97/11.35 * @param c collection containing elements to be added to this list 36.97/11.35 * @return true if this list changed as a result of the call 36.97/11.35 * @throws UnsupportedOperationException if the addAll operation 36.97/11.35 * is not supported by this list 36.97/11.35 * @throws ClassCastException if the class of an element of the specified 36.97/11.35 * collection prevents it from being added to this list 36.97/11.35 * @throws NullPointerException if the specified collection contains one 36.97/11.35 * or more null elements and this list does not permit null 36.97/11.35 * elements, or if the specified collection is null 36.97/11.35 * @throws IllegalArgumentException if some property of an element of the 36.97/11.35 * specified collection prevents it from being added to this list 36.97/11.35 * @throws IndexOutOfBoundsException if the index is out of range 36.97/11.35 * (index < 0 || index > size()) 36.97/11.35 */ 36.97/11.35 boolean addAll(int index, Collection c); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Removes from this list all of its elements that are contained in the 36.97/11.35 * specified collection (optional operation). 36.97/11.35 * 36.97/11.35 * @param c collection containing elements to be removed from this list 36.97/11.35 * @return true if this list changed as a result of the call 36.97/11.35 * @throws UnsupportedOperationException if the removeAll operation 36.97/11.35 * is not supported by this list 36.97/11.35 * @throws ClassCastException if the class of an element of this list 36.97/11.35 * is incompatible with the specified collection (optional) 36.97/11.35 * @throws NullPointerException if this list contains a null element and the 36.97/11.35 * specified collection does not permit null elements (optional), 36.97/11.35 * or if the specified collection is null 36.97/11.35 * @see #remove(Object) 36.97/11.35 * @see #contains(Object) 36.97/11.35 */ 36.97/11.35 boolean removeAll(Collection c); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Retains only the elements in this list that are contained in the 36.97/11.35 * specified collection (optional operation). In other words, removes 36.97/11.35 * from this list all of its elements that are not contained in the 36.97/11.35 * specified collection. 36.97/11.35 * 36.97/11.35 * @param c collection containing elements to be retained in this list 36.97/11.35 * @return true if this list changed as a result of the call 36.97/11.35 * @throws UnsupportedOperationException if the retainAll operation 36.97/11.35 * is not supported by this list 36.97/11.35 * @throws ClassCastException if the class of an element of this list 36.97/11.35 * is incompatible with the specified collection (optional) 36.97/11.35 * @throws NullPointerException if this list contains a null element and the 36.97/11.35 * specified collection does not permit null elements (optional), 36.97/11.35 * or if the specified collection is null 36.97/11.35 * @see #remove(Object) 36.97/11.35 * @see #contains(Object) 36.97/11.35 */ 36.97/11.35 boolean retainAll(Collection c); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Removes all of the elements from this list (optional operation). 36.97/11.35 * The list will be empty after this call returns. 36.97/11.35 * 36.97/11.35 * @throws UnsupportedOperationException if the clear operation 36.97/11.35 * is not supported by this list 36.97/11.35 */ 36.97/11.35 void clear(); 36.97/11.35 36.97/11.35 36.97/11.35 // Comparison and hashing 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Compares the specified object with this list for equality. Returns 36.97/11.35 * true if and only if the specified object is also a list, both 36.97/11.35 * lists have the same size, and all corresponding pairs of elements in 36.97/11.35 * the two lists are equal. (Two elements e1 and 36.97/11.35 * e2 are equal if (e1==null ? e2==null : 36.97/11.35 * e1.equals(e2)).) In other words, two lists are defined to be 36.97/11.35 * equal if they contain the same elements in the same order. This 36.97/11.35 * definition ensures that the equals method works properly across 36.97/11.35 * different implementations of the List interface. 36.97/11.35 * 36.97/11.35 * @param o the object to be compared for equality with this list 36.97/11.35 * @return true if the specified object is equal to this list 36.97/11.35 */ 36.97/11.35 boolean equals(Object o); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns the hash code value for this list. The hash code of a list 36.97/11.35 * is defined to be the result of the following calculation: 36.97/11.35 *

36.97/11.35	     *  int hashCode = 1;
36.97/11.35	     *  for (E e : list)
36.97/11.35	     *      hashCode = 31*hashCode + (e==null ? 0 : e.hashCode());
36.97/11.35	     * 
36.97/11.35 * This ensures that list1.equals(list2) implies that 36.97/11.35 * list1.hashCode()==list2.hashCode() for any two lists, 36.97/11.35 * list1 and list2, as required by the general 36.97/11.35 * contract of {@link Object#hashCode}. 36.97/11.35 * 36.97/11.35 * @return the hash code value for this list 36.97/11.35 * @see Object#equals(Object) 36.97/11.35 * @see #equals(Object) 36.97/11.35 */ 36.97/11.35 int hashCode(); 36.97/11.35 36.97/11.35 36.97/11.35 // Positional Access Operations 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns the element at the specified position in this list. 36.97/11.35 * 36.97/11.35 * @param index index of the element to return 36.97/11.35 * @return the element at the specified position in this list 36.97/11.35 * @throws IndexOutOfBoundsException if the index is out of range 36.97/11.35 * (index < 0 || index >= size()) 36.97/11.35 */ 36.97/11.35 E get(int index); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Replaces the element at the specified position in this list with the 36.97/11.35 * specified element (optional operation). 36.97/11.35 * 36.97/11.35 * @param index index of the element to replace 36.97/11.35 * @param element element to be stored at the specified position 36.97/11.35 * @return the element previously at the specified position 36.97/11.35 * @throws UnsupportedOperationException if the set operation 36.97/11.35 * is not supported by this list 36.97/11.35 * @throws ClassCastException if the class of the specified element 36.97/11.35 * prevents it from being added to this list 36.97/11.35 * @throws NullPointerException if the specified element is null and 36.97/11.35 * this list does not permit null elements 36.97/11.35 * @throws IllegalArgumentException if some property of the specified 36.97/11.35 * element prevents it from being added to this list 36.97/11.35 * @throws IndexOutOfBoundsException if the index is out of range 36.97/11.35 * (index < 0 || index >= size()) 36.97/11.35 */ 36.97/11.35 E set(int index, E element); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Inserts the specified element at the specified position in this list 36.97/11.35 * (optional operation). Shifts the element currently at that position 36.97/11.35 * (if any) and any subsequent elements to the right (adds one to their 36.97/11.35 * indices). 36.97/11.35 * 36.97/11.35 * @param index index at which the specified element is to be inserted 36.97/11.35 * @param element element to be inserted 36.97/11.35 * @throws UnsupportedOperationException if the add operation 36.97/11.35 * is not supported by this list 36.97/11.35 * @throws ClassCastException if the class of the specified element 36.97/11.35 * prevents it from being added to this list 36.97/11.35 * @throws NullPointerException if the specified element is null and 36.97/11.35 * this list does not permit null elements 36.97/11.35 * @throws IllegalArgumentException if some property of the specified 36.97/11.35 * element prevents it from being added to this list 36.97/11.35 * @throws IndexOutOfBoundsException if the index is out of range 36.97/11.35 * (index < 0 || index > size()) 36.97/11.35 */ 36.97/11.35 void add(int index, E element); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Removes the element at the specified position in this list (optional 36.97/11.35 * operation). Shifts any subsequent elements to the left (subtracts one 36.97/11.35 * from their indices). Returns the element that was removed from the 36.97/11.35 * list. 36.97/11.35 * 36.97/11.35 * @param index the index of the element to be removed 36.97/11.35 * @return the element previously at the specified position 36.97/11.35 * @throws UnsupportedOperationException if the remove operation 36.97/11.35 * is not supported by this list 36.97/11.35 * @throws IndexOutOfBoundsException if the index is out of range 36.97/11.35 * (index < 0 || index >= size()) 36.97/11.35 */ 36.97/11.35 E remove(int index); 36.97/11.35 36.97/11.35 36.97/11.35 // Search Operations 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns the index of the first occurrence of the specified element 36.97/11.35 * in this list, or -1 if this list does not contain the element. 36.97/11.35 * More formally, returns the lowest index i such that 36.97/11.35 * (o==null ? get(i)==null : o.equals(get(i))), 36.97/11.35 * or -1 if there is no such index. 36.97/11.35 * 36.97/11.35 * @param o element to search for 36.97/11.35 * @return the index of the first occurrence of the specified element in 36.97/11.35 * this list, or -1 if this list does not contain the element 36.97/11.35 * @throws ClassCastException if the type of the specified element 36.97/11.35 * is incompatible with this list (optional) 36.97/11.35 * @throws NullPointerException if the specified element is null and this 36.97/11.35 * list does not permit null elements (optional) 36.97/11.35 */ 36.97/11.35 int indexOf(Object o); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns the index of the last occurrence of the specified element 36.97/11.35 * in this list, or -1 if this list does not contain the element. 36.97/11.35 * More formally, returns the highest index i such that 36.97/11.35 * (o==null ? get(i)==null : o.equals(get(i))), 36.97/11.35 * or -1 if there is no such index. 36.97/11.35 * 36.97/11.35 * @param o element to search for 36.97/11.35 * @return the index of the last occurrence of the specified element in 36.97/11.35 * this list, or -1 if this list does not contain the element 36.97/11.35 * @throws ClassCastException if the type of the specified element 36.97/11.35 * is incompatible with this list (optional) 36.97/11.35 * @throws NullPointerException if the specified element is null and this 36.97/11.35 * list does not permit null elements (optional) 36.97/11.35 */ 36.97/11.35 int lastIndexOf(Object o); 36.97/11.35 36.97/11.35 36.97/11.35 // List Iterators 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns a list iterator over the elements in this list (in proper 36.97/11.35 * sequence). 36.97/11.35 * 36.97/11.35 * @return a list iterator over the elements in this list (in proper 36.97/11.35 * sequence) 36.97/11.35 */ 36.97/11.35 ListIterator listIterator(); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns a list iterator over the elements in this list (in proper 36.97/11.35 * sequence), starting at the specified position in the list. 36.97/11.35 * The specified index indicates the first element that would be 36.97/11.35 * returned by an initial call to {@link ListIterator#next next}. 36.97/11.35 * An initial call to {@link ListIterator#previous previous} would 36.97/11.35 * return the element with the specified index minus one. 36.97/11.35 * 36.97/11.35 * @param index index of the first element to be returned from the 36.97/11.35 * list iterator (by a call to {@link ListIterator#next next}) 36.97/11.35 * @return a list iterator over the elements in this list (in proper 36.97/11.35 * sequence), starting at the specified position in the list 36.97/11.35 * @throws IndexOutOfBoundsException if the index is out of range 36.97/11.35 * ({@code index < 0 || index > size()}) 36.97/11.35 */ 36.97/11.35 ListIterator listIterator(int index); 36.97/11.35 36.97/11.35 // View 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns a view of the portion of this list between the specified 36.97/11.35 * fromIndex, inclusive, and toIndex, exclusive. (If 36.97/11.35 * fromIndex and toIndex are equal, the returned list is 36.97/11.35 * empty.) The returned list is backed by this list, so non-structural 36.97/11.35 * changes in the returned list are reflected in this list, and vice-versa. 36.97/11.35 * The returned list supports all of the optional list operations supported 36.97/11.35 * by this list.

36.97/11.35 * 36.97/11.35 * This method eliminates the need for explicit range operations (of 36.97/11.35 * the sort that commonly exist for arrays). Any operation that expects 36.97/11.35 * a list can be used as a range operation by passing a subList view 36.97/11.35 * instead of a whole list. For example, the following idiom 36.97/11.35 * removes a range of elements from a list: 36.97/11.35 *

36.97/11.35	     *      list.subList(from, to).clear();
36.97/11.35	     * 
36.97/11.35 * Similar idioms may be constructed for indexOf and 36.97/11.35 * lastIndexOf, and all of the algorithms in the 36.97/11.35 * Collections class can be applied to a subList.

36.97/11.35 * 36.97/11.35 * The semantics of the list returned by this method become undefined if 36.97/11.35 * the backing list (i.e., this list) is structurally modified in 36.97/11.35 * any way other than via the returned list. (Structural modifications are 36.97/11.35 * those that change the size of this list, or otherwise perturb it in such 36.97/11.35 * a fashion that iterations in progress may yield incorrect results.) 36.97/11.35 * 36.97/11.35 * @param fromIndex low endpoint (inclusive) of the subList 36.97/11.35 * @param toIndex high endpoint (exclusive) of the subList 36.97/11.35 * @return a view of the specified range within this list 36.97/11.35 * @throws IndexOutOfBoundsException for an illegal endpoint index value 36.97/11.35 * (fromIndex < 0 || toIndex > size || 36.97/11.35 * fromIndex > toIndex) 36.97/11.35 */ 36.97/11.35 List subList(int fromIndex, int toIndex); 36.97/11.35 } 36.97/11.35 36.97/11.35 36.97/11.35 /* 36.97/11.35 * Copyright 1994-1998 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.35 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.35 * 36.97/11.35 * This code is free software; you can redistribute it and/or modify it 36.97/11.35 * under the terms of the GNU General Public License version 2 only, as 36.97/11.35 * published by the Free Software Foundation. Sun designates this 36.97/11.35 * particular file as subject to the "Classpath" exception as provided 36.97/11.35 * by Sun in the LICENSE file that accompanied this code. 36.97/11.35 * 36.97/11.35 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.35 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.35 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.35 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.35 * accompanied this code). 36.97/11.35 * 36.97/11.35 * You should have received a copy of the GNU General Public License version 36.97/11.35 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.35 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.35 * 36.97/11.35 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.35 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.35 * have any questions. 36.97/11.35 */ 36.97/11.35 36.97/11.35 package javaUtilEx; 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Thrown by the nextElement method of an 36.97/11.35 * Enumeration to indicate that there are no more 36.97/11.35 * elements in the enumeration. 36.97/11.35 * 36.97/11.35 * @author unascribed 36.97/11.35 * @see java.util.Enumeration 36.97/11.35 * @see java.util.Enumeration#nextElement() 36.97/11.35 * @since JDK1.0 36.97/11.35 */ 36.97/11.35 public 36.97/11.35 class NoSuchElementException extends RuntimeException { 36.97/11.35 /** 36.97/11.35 * Constructs a NoSuchElementException with null 36.97/11.35 * as its error message string. 36.97/11.35 */ 36.97/11.35 public NoSuchElementException() { 36.97/11.35 super(); 36.97/11.35 } 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Constructs a NoSuchElementException, saving a reference 36.97/11.35 * to the error message string s for later retrieval by the 36.97/11.35 * getMessage method. 36.97/11.35 * 36.97/11.35 * @param s the detail message. 36.97/11.35 */ 36.97/11.35 public NoSuchElementException(String s) { 36.97/11.35 super(s); 36.97/11.35 } 36.97/11.35 } 36.97/11.35 36.97/11.35 36.97/11.35 /* 36.97/11.35 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.35 * 36.97/11.35 * This code is free software; you can redistribute it and/or modify it 36.97/11.35 * under the terms of the GNU General Public License version 2 only, as 36.97/11.35 * published by the Free Software Foundation. Sun designates this 36.97/11.35 * particular file as subject to the "Classpath" exception as provided 36.97/11.35 * by Sun in the LICENSE file that accompanied this code. 36.97/11.35 * 36.97/11.35 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.35 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.35 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.35 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.35 * accompanied this code). 36.97/11.35 * 36.97/11.35 * You should have received a copy of the GNU General Public License version 36.97/11.35 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.35 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.35 * 36.97/11.35 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.35 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.35 * have any questions. 36.97/11.35 */ 36.97/11.35 36.97/11.35 /* 36.97/11.35 * This file is available under and governed by the GNU General Public 36.97/11.35 * License version 2 only, as published by the Free Software Foundation. 36.97/11.35 * However, the following notice accompanied the original version of this 36.97/11.35 * file: 36.97/11.35 * 36.97/11.35 * Written by Doug Lea with assistance from members of JCP JSR-166 36.97/11.35 * Expert Group and released to the public domain, as explained at 36.97/11.35 * http://creativecommons.org/licenses/publicdomain 36.97/11.35 */ 36.97/11.35 36.97/11.35 package javaUtilEx; 36.97/11.35 36.97/11.35 /** 36.97/11.35 * A collection designed for holding elements prior to processing. 36.97/11.35 * Besides basic {@link java.util.Collection Collection} operations, 36.97/11.35 * queues provide additional insertion, extraction, and inspection 36.97/11.35 * operations. Each of these methods exists in two forms: one throws 36.97/11.35 * an exception if the operation fails, the other returns a special 36.97/11.35 * value (either null or false, depending on the 36.97/11.35 * operation). The latter form of the insert operation is designed 36.97/11.35 * specifically for use with capacity-restricted Queue 36.97/11.35 * implementations; in most implementations, insert operations cannot 36.97/11.35 * fail. 36.97/11.35 * 36.97/11.35 *

36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 * 36.97/11.35 *
Throws exceptionReturns special value
Insert{@link #add add(e)}{@link #offer offer(e)}
Remove{@link #remove remove()}{@link #poll poll()}
Examine{@link #element element()}{@link #peek peek()}
36.97/11.35 * 36.97/11.35 *

Queues typically, but do not necessarily, order elements in a 36.97/11.35 * FIFO (first-in-first-out) manner. Among the exceptions are 36.97/11.35 * priority queues, which order elements according to a supplied 36.97/11.35 * comparator, or the elements' natural ordering, and LIFO queues (or 36.97/11.35 * stacks) which order the elements LIFO (last-in-first-out). 36.97/11.35 * Whatever the ordering used, the head of the queue is that 36.97/11.35 * element which would be removed by a call to {@link #remove() } or 36.97/11.35 * {@link #poll()}. In a FIFO queue, all new elements are inserted at 36.97/11.35 * the tail of the queue. Other kinds of queues may use 36.97/11.35 * different placement rules. Every Queue implementation 36.97/11.35 * must specify its ordering properties. 36.97/11.35 * 36.97/11.35 *

The {@link #offer offer} method inserts an element if possible, 36.97/11.35 * otherwise returning false. This differs from the {@link 36.97/11.35 * java.util.Collection#add Collection.add} method, which can fail to 36.97/11.35 * add an element only by throwing an unchecked exception. The 36.97/11.35 * offer method is designed for use when failure is a normal, 36.97/11.35 * rather than exceptional occurrence, for example, in fixed-capacity 36.97/11.35 * (or "bounded") queues. 36.97/11.35 * 36.97/11.35 *

The {@link #remove()} and {@link #poll()} methods remove and 36.97/11.35 * return the head of the queue. 36.97/11.35 * Exactly which element is removed from the queue is a 36.97/11.35 * function of the queue's ordering policy, which differs from 36.97/11.35 * implementation to implementation. The remove() and 36.97/11.35 * poll() methods differ only in their behavior when the 36.97/11.35 * queue is empty: the remove() method throws an exception, 36.97/11.35 * while the poll() method returns null. 36.97/11.35 * 36.97/11.35 *

The {@link #element()} and {@link #peek()} methods return, but do 36.97/11.35 * not remove, the head of the queue. 36.97/11.35 * 36.97/11.35 *

The Queue interface does not define the blocking queue 36.97/11.35 * methods, which are common in concurrent programming. These methods, 36.97/11.35 * which wait for elements to appear or for space to become available, are 36.97/11.35 * defined in the {@link java.util.concurrent.BlockingQueue} interface, which 36.97/11.35 * extends this interface. 36.97/11.35 * 36.97/11.35 *

Queue implementations generally do not allow insertion 36.97/11.35 * of null elements, although some implementations, such as 36.97/11.35 * {@link LinkedList}, do not prohibit insertion of null. 36.97/11.35 * Even in the implementations that permit it, null should 36.97/11.35 * not be inserted into a Queue, as null is also 36.97/11.35 * used as a special return value by the poll method to 36.97/11.35 * indicate that the queue contains no elements. 36.97/11.35 * 36.97/11.35 *

Queue implementations generally do not define 36.97/11.35 * element-based versions of methods equals and 36.97/11.35 * hashCode but instead inherit the identity based versions 36.97/11.35 * from class Object, because element-based equality is not 36.97/11.35 * always well-defined for queues with the same elements but different 36.97/11.35 * ordering properties. 36.97/11.35 * 36.97/11.35 * 36.97/11.35 *

This interface is a member of the 36.97/11.35 * 36.97/11.35 * Java Collections Framework. 36.97/11.35 * 36.97/11.35 * @see java.util.Collection 36.97/11.35 * @see LinkedList 36.97/11.35 * @see PriorityQueue 36.97/11.35 * @see java.util.concurrent.LinkedBlockingQueue 36.97/11.35 * @see java.util.concurrent.BlockingQueue 36.97/11.35 * @see java.util.concurrent.ArrayBlockingQueue 36.97/11.35 * @see java.util.concurrent.LinkedBlockingQueue 36.97/11.35 * @see java.util.concurrent.PriorityBlockingQueue 36.97/11.35 * @since 1.5 36.97/11.35 * @author Doug Lea 36.97/11.35 * @param the type of elements held in this collection 36.97/11.35 */ 36.97/11.35 public interface Queue extends Collection { 36.97/11.35 /** 36.97/11.35 * Inserts the specified element into this queue if it is possible to do so 36.97/11.35 * immediately without violating capacity restrictions, returning 36.97/11.35 * true upon success and throwing an IllegalStateException 36.97/11.35 * if no space is currently available. 36.97/11.35 * 36.97/11.35 * @param e the element to add 36.97/11.35 * @return true (as specified by {@link Collection#add}) 36.97/11.35 * @throws IllegalStateException if the element cannot be added at this 36.97/11.35 * time due to capacity restrictions 36.97/11.35 * @throws ClassCastException if the class of the specified element 36.97/11.35 * prevents it from being added to this queue 36.97/11.35 * @throws NullPointerException if the specified element is null and 36.97/11.35 * this queue does not permit null elements 36.97/11.35 * @throws IllegalArgumentException if some property of this element 36.97/11.35 * prevents it from being added to this queue 36.97/11.35 */ 36.97/11.35 boolean add(E e); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Inserts the specified element into this queue if it is possible to do 36.97/11.35 * so immediately without violating capacity restrictions. 36.97/11.35 * When using a capacity-restricted queue, this method is generally 36.97/11.35 * preferable to {@link #add}, which can fail to insert an element only 36.97/11.35 * by throwing an exception. 36.97/11.35 * 36.97/11.35 * @param e the element to add 36.97/11.35 * @return true if the element was added to this queue, else 36.97/11.35 * false 36.97/11.35 * @throws ClassCastException if the class of the specified element 36.97/11.35 * prevents it from being added to this queue 36.97/11.35 * @throws NullPointerException if the specified element is null and 36.97/11.35 * this queue does not permit null elements 36.97/11.35 * @throws IllegalArgumentException if some property of this element 36.97/11.35 * prevents it from being added to this queue 36.97/11.35 */ 36.97/11.35 boolean offer(E e); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Retrieves and removes the head of this queue. This method differs 36.97/11.35 * from {@link #poll poll} only in that it throws an exception if this 36.97/11.35 * queue is empty. 36.97/11.35 * 36.97/11.35 * @return the head of this queue 36.97/11.35 * @throws NoSuchElementException if this queue is empty 36.97/11.35 */ 36.97/11.35 E remove(); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Retrieves and removes the head of this queue, 36.97/11.35 * or returns null if this queue is empty. 36.97/11.35 * 36.97/11.35 * @return the head of this queue, or null if this queue is empty 36.97/11.35 */ 36.97/11.35 E poll(); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Retrieves, but does not remove, the head of this queue. This method 36.97/11.35 * differs from {@link #peek peek} only in that it throws an exception 36.97/11.35 * if this queue is empty. 36.97/11.35 * 36.97/11.35 * @return the head of this queue 36.97/11.35 * @throws NoSuchElementException if this queue is empty 36.97/11.35 */ 36.97/11.35 E element(); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Retrieves, but does not remove, the head of this queue, 36.97/11.35 * or returns null if this queue is empty. 36.97/11.35 * 36.97/11.35 * @return the head of this queue, or null if this queue is empty 36.97/11.35 */ 36.97/11.35 E peek(); 36.97/11.35 } 36.97/11.35 36.97/11.35 36.97/11.35 /* 36.97/11.35 * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.35 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.35 * 36.97/11.35 * This code is free software; you can redistribute it and/or modify it 36.97/11.35 * under the terms of the GNU General Public License version 2 only, as 36.97/11.35 * published by the Free Software Foundation. Sun designates this 36.97/11.35 * particular file as subject to the "Classpath" exception as provided 36.97/11.35 * by Sun in the LICENSE file that accompanied this code. 36.97/11.35 * 36.97/11.35 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.35 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.35 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.35 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.35 * accompanied this code). 36.97/11.35 * 36.97/11.35 * You should have received a copy of the GNU General Public License version 36.97/11.35 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.35 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.35 * 36.97/11.35 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.35 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.35 * have any questions. 36.97/11.35 */ 36.97/11.35 36.97/11.35 package javaUtilEx; 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Marker interface used by List implementations to indicate that 36.97/11.35 * they support fast (generally constant time) random access. The primary 36.97/11.35 * purpose of this interface is to allow generic algorithms to alter their 36.97/11.35 * behavior to provide good performance when applied to either random or 36.97/11.35 * sequential access lists. 36.97/11.35 * 36.97/11.35 *

The best algorithms for manipulating random access lists (such as 36.97/11.35 * ArrayList) can produce quadratic behavior when applied to 36.97/11.35 * sequential access lists (such as LinkedList). Generic list 36.97/11.35 * algorithms are encouraged to check whether the given list is an 36.97/11.35 * instanceof this interface before applying an algorithm that would 36.97/11.35 * provide poor performance if it were applied to a sequential access list, 36.97/11.35 * and to alter their behavior if necessary to guarantee acceptable 36.97/11.35 * performance. 36.97/11.35 * 36.97/11.35 *

It is recognized that the distinction between random and sequential 36.97/11.35 * access is often fuzzy. For example, some List implementations 36.97/11.35 * provide asymptotically linear access times if they get huge, but constant 36.97/11.35 * access times in practice. Such a List implementation 36.97/11.35 * should generally implement this interface. As a rule of thumb, a 36.97/11.35 * List implementation should implement this interface if, 36.97/11.35 * for typical instances of the class, this loop: 36.97/11.35 *

36.97/11.35	 *     for (int i=0, n=list.size(); i < n; i++)
36.97/11.35	 *         list.get(i);
36.97/11.35	 * 
36.97/11.35 * runs faster than this loop: 36.97/11.35 *
36.97/11.35	 *     for (Iterator i=list.iterator(); i.hasNext(); )
36.97/11.35	 *         i.next();
36.97/11.35	 * 
36.97/11.35 * 36.97/11.35 *

This interface is a member of the 36.97/11.35 * 36.97/11.35 * Java Collections Framework. 36.97/11.35 * 36.97/11.35 * @since 1.4 36.97/11.35 */ 36.97/11.35 public interface RandomAccess { 36.97/11.35 } 36.97/11.35 36.97/11.35 36.97/11.35 package javaUtilEx; 36.97/11.35 36.97/11.35 public class Random { 36.97/11.35 static String[] args; 36.97/11.35 static int index = 0; 36.97/11.35 36.97/11.35 public static int random() { 36.97/11.35 String string = args[index]; 36.97/11.35 index++; 36.97/11.35 return string.length(); 36.97/11.35 } 36.97/11.35 } 36.97/11.35 36.97/11.35 36.97/11.35 /* 36.97/11.35 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.35 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.35 * 36.97/11.35 * This code is free software; you can redistribute it and/or modify it 36.97/11.35 * under the terms of the GNU General Public License version 2 only, as 36.97/11.35 * published by the Free Software Foundation. Sun designates this 36.97/11.35 * particular file as subject to the "Classpath" exception as provided 36.97/11.35 * by Sun in the LICENSE file that accompanied this code. 36.97/11.35 * 36.97/11.35 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.35 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.35 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.35 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.35 * accompanied this code). 36.97/11.35 * 36.97/11.35 * You should have received a copy of the GNU General Public License version 36.97/11.35 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.35 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.35 * 36.97/11.35 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.35 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.35 * have any questions. 36.97/11.35 */ 36.97/11.35 36.97/11.35 package javaUtilEx; 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Thrown to indicate that the requested operation is not supported.

36.97/11.35 * 36.97/11.35 * This class is a member of the 36.97/11.35 * 36.97/11.35 * Java Collections Framework. 36.97/11.35 * 36.97/11.35 * @author Josh Bloch 36.97/11.35 * @since 1.2 36.97/11.35 */ 36.97/11.35 public class UnsupportedOperationException extends RuntimeException { 36.97/11.35 /** 36.97/11.35 * Constructs an UnsupportedOperationException with no detail message. 36.97/11.35 */ 36.97/11.35 public UnsupportedOperationException() { 36.97/11.35 } 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Constructs an UnsupportedOperationException with the specified 36.97/11.35 * detail message. 36.97/11.35 * 36.97/11.35 * @param message the detail message 36.97/11.35 */ 36.97/11.35 public UnsupportedOperationException(String message) { 36.97/11.35 super(message); 36.97/11.35 } 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Constructs a new exception with the specified detail message and 36.97/11.35 * cause. 36.97/11.35 * 36.97/11.35 *

Note that the detail message associated with cause is 36.97/11.35 * not automatically incorporated in this exception's detail 36.97/11.35 * message. 36.97/11.35 * 36.97/11.35 * @param message the detail message (which is saved for later retrieval 36.97/11.35 * by the {@link Throwable#getMessage()} method). 36.97/11.35 * @param cause the cause (which is saved for later retrieval by the 36.97/11.35 * {@link Throwable#getCause()} method). (A null value 36.97/11.35 * is permitted, and indicates that the cause is nonexistent or 36.97/11.35 * unknown.) 36.97/11.35 * @since 1.5 36.97/11.35 */ 36.97/11.35 public UnsupportedOperationException(String message, Throwable cause) { 36.97/11.35 super(message, cause); 36.97/11.35 } 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Constructs a new exception with the specified cause and a detail 36.97/11.35 * message of (cause==null ? null : cause.toString()) (which 36.97/11.35 * typically contains the class and detail message of cause). 36.97/11.35 * This constructor is useful for exceptions that are little more than 36.97/11.35 * wrappers for other throwables (for example, {@link 36.97/11.35 * java.security.PrivilegedActionException}). 36.97/11.35 * 36.97/11.35 * @param cause the cause (which is saved for later retrieval by the 36.97/11.35 * {@link Throwable#getCause()} method). (A null value is 36.97/11.35 * permitted, and indicates that the cause is nonexistent or 36.97/11.35 * unknown.) 36.97/11.35 * @since 1.5 36.97/11.35 */ 36.97/11.35 public UnsupportedOperationException(Throwable cause) { 36.97/11.35 super(cause); 36.97/11.35 } 36.97/11.35 36.97/11.35 static final long serialVersionUID = -1242599979055084673L; 36.97/11.35 } 36.97/11.35 36.97/11.35 36.97/11.35 36.97/11.35 ---------------------------------------- 36.97/11.35 36.97/11.35 (1) BareJBCToJBCProof (EQUIVALENT) 36.97/11.35 initialized classpath 36.97/11.35 ---------------------------------------- 36.97/11.35 36.97/11.35 (2) 36.97/11.35 Obligation: 36.97/11.35 need to prove termination of the following program: 36.97/11.35 /* 36.97/11.35 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.35 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.35 * 36.97/11.35 * This code is free software; you can redistribute it and/or modify it 36.97/11.35 * under the terms of the GNU General Public License version 2 only, as 36.97/11.35 * published by the Free Software Foundation. Sun designates this 36.97/11.35 * particular file as subject to the "Classpath" exception as provided 36.97/11.35 * by Sun in the LICENSE file that accompanied this code. 36.97/11.35 * 36.97/11.35 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.35 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.35 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.35 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.35 * accompanied this code). 36.97/11.35 * 36.97/11.35 * You should have received a copy of the GNU General Public License version 36.97/11.35 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.35 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.35 * 36.97/11.35 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.35 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.35 * have any questions. 36.97/11.35 */ 36.97/11.35 36.97/11.35 package javaUtilEx; 36.97/11.35 36.97/11.35 /** 36.97/11.35 * This class provides a skeletal implementation of the Collection 36.97/11.35 * interface, to minimize the effort required to implement this interface.

36.97/11.35 * 36.97/11.35 * To implement an unmodifiable collection, the programmer needs only to 36.97/11.35 * extend this class and provide implementations for the iterator and 36.97/11.35 * size methods. (The iterator returned by the iterator 36.97/11.35 * method must implement hasNext and next.)

36.97/11.35 * 36.97/11.35 * To implement a modifiable collection, the programmer must additionally 36.97/11.35 * override this class's add method (which otherwise throws an 36.97/11.35 * UnsupportedOperationException), and the iterator returned by the 36.97/11.35 * iterator method must additionally implement its remove 36.97/11.35 * method.

36.97/11.35 * 36.97/11.35 * The programmer should generally provide a void (no argument) and 36.97/11.35 * Collection constructor, as per the recommendation in the 36.97/11.35 * Collection interface specification.

36.97/11.35 * 36.97/11.35 * The documentation for each non-abstract method in this class describes its 36.97/11.35 * implementation in detail. Each of these methods may be overridden if 36.97/11.35 * the collection being implemented admits a more efficient implementation.

36.97/11.35 * 36.97/11.35 * This class is a member of the 36.97/11.35 * 36.97/11.35 * Java Collections Framework. 36.97/11.35 * 36.97/11.35 * @author Josh Bloch 36.97/11.35 * @author Neal Gafter 36.97/11.35 * @see Collection 36.97/11.35 * @since 1.2 36.97/11.35 */ 36.97/11.35 36.97/11.35 public abstract class AbstractCollection implements Collection { 36.97/11.35 /** 36.97/11.35 * Sole constructor. (For invocation by subclass constructors, typically 36.97/11.35 * implicit.) 36.97/11.35 */ 36.97/11.35 protected AbstractCollection() { 36.97/11.35 } 36.97/11.35 36.97/11.35 // Query Operations 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns an iterator over the elements contained in this collection. 36.97/11.35 * 36.97/11.35 * @return an iterator over the elements contained in this collection 36.97/11.35 */ 36.97/11.35 public abstract Iterator iterator(); 36.97/11.35 36.97/11.35 public abstract int size(); 36.97/11.35 36.97/11.35 /** 36.97/11.35 * {@inheritDoc} 36.97/11.35 * 36.97/11.35 *

This implementation returns size() == 0. 36.97/11.35 */ 36.97/11.35 public boolean isEmpty() { 36.97/11.35 return size() == 0; 36.97/11.35 } 36.97/11.35 36.97/11.35 /** 36.97/11.35 * {@inheritDoc} 36.97/11.35 * 36.97/11.35 *

This implementation iterates over the elements in the collection, 36.97/11.35 * checking each element in turn for equality with the specified element. 36.97/11.35 * 36.97/11.35 * @throws ClassCastException {@inheritDoc} 36.97/11.35 * @throws NullPointerException {@inheritDoc} 36.97/11.35 */ 36.97/11.35 public boolean contains(Object o) { 36.97/11.35 Iterator e = iterator(); 36.97/11.35 if (o==null) { 36.97/11.35 while (e.hasNext()) 36.97/11.35 if (e.next()==null) 36.97/11.35 return true; 36.97/11.35 } else { 36.97/11.35 while (e.hasNext()) 36.97/11.35 if (o.equals(e.next())) 36.97/11.35 return true; 36.97/11.35 } 36.97/11.35 return false; 36.97/11.35 } 36.97/11.35 36.97/11.35 // Modification Operations 36.97/11.35 36.97/11.35 /** 36.97/11.35 * {@inheritDoc} 36.97/11.35 * 36.97/11.35 *

This implementation always throws an 36.97/11.35 * UnsupportedOperationException. 36.97/11.35 * 36.97/11.35 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.35 * @throws ClassCastException {@inheritDoc} 36.97/11.35 * @throws NullPointerException {@inheritDoc} 36.97/11.35 * @throws IllegalArgumentException {@inheritDoc} 36.97/11.35 * @throws IllegalStateException {@inheritDoc} 36.97/11.35 */ 36.97/11.35 public boolean add(E e) { 36.97/11.35 throw new UnsupportedOperationException(); 36.97/11.35 } 36.97/11.35 36.97/11.35 /** 36.97/11.35 * {@inheritDoc} 36.97/11.35 * 36.97/11.35 *

This implementation iterates over the collection looking for the 36.97/11.35 * specified element. If it finds the element, it removes the element 36.97/11.35 * from the collection using the iterator's remove method. 36.97/11.35 * 36.97/11.35 *

Note that this implementation throws an 36.97/11.35 * UnsupportedOperationException if the iterator returned by this 36.97/11.35 * collection's iterator method does not implement the remove 36.97/11.35 * method and this collection contains the specified object. 36.97/11.35 * 36.97/11.35 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.35 * @throws ClassCastException {@inheritDoc} 36.97/11.35 * @throws NullPointerException {@inheritDoc} 36.97/11.35 */ 36.97/11.35 public boolean remove(Object o) { 36.97/11.35 Iterator e = iterator(); 36.97/11.35 if (o==null) { 36.97/11.35 while (e.hasNext()) { 36.97/11.35 if (e.next()==null) { 36.97/11.35 e.remove(); 36.97/11.35 return true; 36.97/11.35 } 36.97/11.35 } 36.97/11.35 } else { 36.97/11.35 while (e.hasNext()) { 36.97/11.35 if (o.equals(e.next())) { 36.97/11.35 e.remove(); 36.97/11.35 return true; 36.97/11.35 } 36.97/11.35 } 36.97/11.35 } 36.97/11.35 return false; 36.97/11.35 } 36.97/11.35 36.97/11.35 36.97/11.35 // Bulk Operations 36.97/11.35 36.97/11.35 /** 36.97/11.35 * {@inheritDoc} 36.97/11.35 * 36.97/11.35 *

This implementation iterates over the specified collection, 36.97/11.35 * checking each element returned by the iterator in turn to see 36.97/11.35 * if it's contained in this collection. If all elements are so 36.97/11.35 * contained true is returned, otherwise false. 36.97/11.35 * 36.97/11.35 * @throws ClassCastException {@inheritDoc} 36.97/11.35 * @throws NullPointerException {@inheritDoc} 36.97/11.35 * @see #contains(Object) 36.97/11.35 */ 36.97/11.35 public boolean containsAll(Collection c) { 36.97/11.35 Iterator e = c.iterator(); 36.97/11.35 while (e.hasNext()) 36.97/11.35 if (!contains(e.next())) 36.97/11.35 return false; 36.97/11.35 return true; 36.97/11.35 } 36.97/11.35 36.97/11.35 /** 36.97/11.35 * {@inheritDoc} 36.97/11.35 * 36.97/11.35 *

This implementation iterates over the specified collection, and adds 36.97/11.35 * each object returned by the iterator to this collection, in turn. 36.97/11.35 * 36.97/11.35 *

Note that this implementation will throw an 36.97/11.35 * UnsupportedOperationException unless add is 36.97/11.35 * overridden (assuming the specified collection is non-empty). 36.97/11.35 * 36.97/11.35 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.35 * @throws ClassCastException {@inheritDoc} 36.97/11.35 * @throws NullPointerException {@inheritDoc} 36.97/11.35 * @throws IllegalArgumentException {@inheritDoc} 36.97/11.35 * @throws IllegalStateException {@inheritDoc} 36.97/11.35 * 36.97/11.35 * @see #add(Object) 36.97/11.35 */ 36.97/11.35 public boolean addAll(Collection c) { 36.97/11.35 boolean modified = false; 36.97/11.35 Iterator e = c.iterator(); 36.97/11.35 while (e.hasNext()) { 36.97/11.35 if (add(e.next())) 36.97/11.35 modified = true; 36.97/11.35 } 36.97/11.35 return modified; 36.97/11.35 } 36.97/11.35 36.97/11.35 /** 36.97/11.35 * {@inheritDoc} 36.97/11.35 * 36.97/11.35 *

This implementation iterates over this collection, checking each 36.97/11.35 * element returned by the iterator in turn to see if it's contained 36.97/11.35 * in the specified collection. If it's so contained, it's removed from 36.97/11.35 * this collection with the iterator's remove method. 36.97/11.35 * 36.97/11.35 *

Note that this implementation will throw an 36.97/11.35 * UnsupportedOperationException if the iterator returned by the 36.97/11.35 * iterator method does not implement the remove method 36.97/11.35 * and this collection contains one or more elements in common with the 36.97/11.35 * specified collection. 36.97/11.35 * 36.97/11.35 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.35 * @throws ClassCastException {@inheritDoc} 36.97/11.35 * @throws NullPointerException {@inheritDoc} 36.97/11.35 * 36.97/11.35 * @see #remove(Object) 36.97/11.35 * @see #contains(Object) 36.97/11.35 */ 36.97/11.35 public boolean removeAll(Collection c) { 36.97/11.35 boolean modified = false; 36.97/11.35 Iterator e = iterator(); 36.97/11.35 while (e.hasNext()) { 36.97/11.35 if (c.contains(e.next())) { 36.97/11.35 e.remove(); 36.97/11.35 modified = true; 36.97/11.35 } 36.97/11.35 } 36.97/11.35 return modified; 36.97/11.35 } 36.97/11.35 36.97/11.35 /** 36.97/11.35 * {@inheritDoc} 36.97/11.35 * 36.97/11.35 *

This implementation iterates over this collection, checking each 36.97/11.35 * element returned by the iterator in turn to see if it's contained 36.97/11.35 * in the specified collection. If it's not so contained, it's removed 36.97/11.35 * from this collection with the iterator's remove method. 36.97/11.35 * 36.97/11.35 *

Note that this implementation will throw an 36.97/11.35 * UnsupportedOperationException if the iterator returned by the 36.97/11.35 * iterator method does not implement the remove method 36.97/11.35 * and this collection contains one or more elements not present in the 36.97/11.35 * specified collection. 36.97/11.35 * 36.97/11.35 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.35 * @throws ClassCastException {@inheritDoc} 36.97/11.35 * @throws NullPointerException {@inheritDoc} 36.97/11.35 * 36.97/11.35 * @see #remove(Object) 36.97/11.35 * @see #contains(Object) 36.97/11.35 */ 36.97/11.35 public boolean retainAll(Collection c) { 36.97/11.35 boolean modified = false; 36.97/11.35 Iterator e = iterator(); 36.97/11.35 while (e.hasNext()) { 36.97/11.35 if (!c.contains(e.next())) { 36.97/11.35 e.remove(); 36.97/11.35 modified = true; 36.97/11.35 } 36.97/11.35 } 36.97/11.35 return modified; 36.97/11.35 } 36.97/11.35 36.97/11.35 /** 36.97/11.35 * {@inheritDoc} 36.97/11.35 * 36.97/11.35 *

This implementation iterates over this collection, removing each 36.97/11.35 * element using the Iterator.remove operation. Most 36.97/11.35 * implementations will probably choose to override this method for 36.97/11.35 * efficiency. 36.97/11.35 * 36.97/11.35 *

Note that this implementation will throw an 36.97/11.35 * UnsupportedOperationException if the iterator returned by this 36.97/11.35 * collection's iterator method does not implement the 36.97/11.35 * remove method and this collection is non-empty. 36.97/11.35 * 36.97/11.35 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.35 */ 36.97/11.35 public void clear() { 36.97/11.35 Iterator e = iterator(); 36.97/11.35 while (e.hasNext()) { 36.97/11.35 e.next(); 36.97/11.35 e.remove(); 36.97/11.35 } 36.97/11.35 } 36.97/11.35 36.97/11.35 36.97/11.35 // String conversion 36.97/11.35 36.97/11.35 /** 36.97/11.35 * Returns a string representation of this collection. The string 36.97/11.35 * representation consists of a list of the collection's elements in the 36.97/11.35 * order they are returned by its iterator, enclosed in square brackets 36.97/11.35 * ("[]"). Adjacent elements are separated by the characters 36.97/11.35 * ", " (comma and space). Elements are converted to strings as 36.97/11.35 * by {@link String#valueOf(Object)}. 36.97/11.35 * 36.97/11.35 * @return a string representation of this collection 36.97/11.35 */ 36.97/11.35 public String toString() { 36.97/11.35 Iterator i = iterator(); 36.97/11.35 if (! i.hasNext()) 36.97/11.35 return "[]"; 36.97/11.35 36.97/11.35 String sb = ""; 36.97/11.35 sb = sb + "["; 36.97/11.35 for (;;) { 36.97/11.35 E e = i.next(); 36.97/11.35 sb = sb + (e == this ? "(this Collection)" : e); 36.97/11.35 if (! i.hasNext()) { 36.97/11.35 sb = sb + "]"; 36.97/11.35 return sb; 36.97/11.35 } 36.97/11.35 sb = sb + ", "; 36.97/11.35 } 36.97/11.35 } 36.97/11.35 36.97/11.35 } 36.97/11.35 36.97/11.35 36.97/11.35 /* 36.97/11.35 * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.35 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.35 * 36.97/11.35 * This code is free software; you can redistribute it and/or modify it 36.97/11.35 * under the terms of the GNU General Public License version 2 only, as 36.97/11.35 * published by the Free Software Foundation. Sun designates this 36.97/11.35 * particular file as subject to the "Classpath" exception as provided 36.97/11.35 * by Sun in the LICENSE file that accompanied this code. 36.97/11.35 * 36.97/11.35 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.35 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.35 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.35 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.35 * accompanied this code). 36.97/11.35 * 36.97/11.35 * You should have received a copy of the GNU General Public License version 36.97/11.35 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.35 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.35 * 36.97/11.35 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.35 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.35 * have any questions. 36.97/11.35 */ 36.97/11.35 36.97/11.35 package javaUtilEx; 36.97/11.35 36.97/11.35 /** 36.97/11.35 * This class provides a skeletal implementation of the {@link List} 36.97/11.35 * interface to minimize the effort required to implement this interface 36.97/11.36 * backed by a "random access" data store (such as an array). For sequential 36.97/11.36 * access data (such as a linked list), {@link AbstractSequentialList} should 36.97/11.36 * be used in preference to this class. 36.97/11.36 * 36.97/11.36 *

To implement an unmodifiable list, the programmer needs only to extend 36.97/11.36 * this class and provide implementations for the {@link #get(int)} and 36.97/11.36 * {@link List#size() size()} methods. 36.97/11.36 * 36.97/11.36 *

To implement a modifiable list, the programmer must additionally 36.97/11.36 * override the {@link #set(int, Object) set(int, E)} method (which otherwise 36.97/11.36 * throws an {@code UnsupportedOperationException}). If the list is 36.97/11.36 * variable-size the programmer must additionally override the 36.97/11.36 * {@link #add(int, Object) add(int, E)} and {@link #remove(int)} methods. 36.97/11.36 * 36.97/11.36 *

The programmer should generally provide a void (no argument) and collection 36.97/11.36 * constructor, as per the recommendation in the {@link Collection} interface 36.97/11.36 * specification. 36.97/11.36 * 36.97/11.36 *

Unlike the other abstract collection implementations, the programmer does 36.97/11.36 * not have to provide an iterator implementation; the iterator and 36.97/11.36 * list iterator are implemented by this class, on top of the "random access" 36.97/11.36 * methods: 36.97/11.36 * {@link #get(int)}, 36.97/11.36 * {@link #set(int, Object) set(int, E)}, 36.97/11.36 * {@link #add(int, Object) add(int, E)} and 36.97/11.36 * {@link #remove(int)}. 36.97/11.36 * 36.97/11.36 *

The documentation for each non-abstract method in this class describes its 36.97/11.36 * implementation in detail. Each of these methods may be overridden if the 36.97/11.36 * collection being implemented admits a more efficient implementation. 36.97/11.36 * 36.97/11.36 *

This class is a member of the 36.97/11.36 * 36.97/11.36 * Java Collections Framework. 36.97/11.36 * 36.97/11.36 * @author Josh Bloch 36.97/11.36 * @author Neal Gafter 36.97/11.36 * @since 1.2 36.97/11.36 */ 36.97/11.36 36.97/11.36 public abstract class AbstractList extends AbstractCollection implements List { 36.97/11.36 /** 36.97/11.36 * Sole constructor. (For invocation by subclass constructors, typically 36.97/11.36 * implicit.) 36.97/11.36 */ 36.97/11.36 protected AbstractList() { 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Appends the specified element to the end of this list (optional 36.97/11.36 * operation). 36.97/11.36 * 36.97/11.36 *

Lists that support this operation may place limitations on what 36.97/11.36 * elements may be added to this list. In particular, some 36.97/11.36 * lists will refuse to add null elements, and others will impose 36.97/11.36 * restrictions on the type of elements that may be added. List 36.97/11.36 * classes should clearly specify in their documentation any restrictions 36.97/11.36 * on what elements may be added. 36.97/11.36 * 36.97/11.36 *

This implementation calls {@code add(size(), e)}. 36.97/11.36 * 36.97/11.36 *

Note that this implementation throws an 36.97/11.36 * {@code UnsupportedOperationException} unless 36.97/11.36 * {@link #add(int, Object) add(int, E)} is overridden. 36.97/11.36 * 36.97/11.36 * @param e element to be appended to this list 36.97/11.36 * @return {@code true} (as specified by {@link Collection#add}) 36.97/11.36 * @throws UnsupportedOperationException if the {@code add} operation 36.97/11.36 * is not supported by this list 36.97/11.36 * @throws ClassCastException if the class of the specified element 36.97/11.36 * prevents it from being added to this list 36.97/11.36 * @throws NullPointerException if the specified element is null and this 36.97/11.36 * list does not permit null elements 36.97/11.36 * @throws IllegalArgumentException if some property of this element 36.97/11.36 * prevents it from being added to this list 36.97/11.36 */ 36.97/11.36 public boolean add(E e) { 36.97/11.36 add(size(), e); 36.97/11.36 return true; 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * {@inheritDoc} 36.97/11.36 * 36.97/11.36 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.36 */ 36.97/11.36 abstract public E get(int index); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * {@inheritDoc} 36.97/11.36 * 36.97/11.36 *

This implementation always throws an 36.97/11.36 * {@code UnsupportedOperationException}. 36.97/11.36 * 36.97/11.36 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.36 * @throws ClassCastException {@inheritDoc} 36.97/11.36 * @throws NullPointerException {@inheritDoc} 36.97/11.36 * @throws IllegalArgumentException {@inheritDoc} 36.97/11.36 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.36 */ 36.97/11.36 public E set(int index, E element) { 36.97/11.36 throw new UnsupportedOperationException(); 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * {@inheritDoc} 36.97/11.36 * 36.97/11.36 *

This implementation always throws an 36.97/11.36 * {@code UnsupportedOperationException}. 36.97/11.36 * 36.97/11.36 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.36 * @throws ClassCastException {@inheritDoc} 36.97/11.36 * @throws NullPointerException {@inheritDoc} 36.97/11.36 * @throws IllegalArgumentException {@inheritDoc} 36.97/11.36 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.36 */ 36.97/11.36 public void add(int index, E element) { 36.97/11.36 throw new UnsupportedOperationException(); 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * {@inheritDoc} 36.97/11.36 * 36.97/11.36 *

This implementation always throws an 36.97/11.36 * {@code UnsupportedOperationException}. 36.97/11.36 * 36.97/11.36 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.36 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.36 */ 36.97/11.36 public E remove(int index) { 36.97/11.36 throw new UnsupportedOperationException(); 36.97/11.36 } 36.97/11.36 36.97/11.36 36.97/11.36 // Search Operations 36.97/11.36 36.97/11.36 /** 36.97/11.36 * {@inheritDoc} 36.97/11.36 * 36.97/11.36 *

This implementation first gets a list iterator (with 36.97/11.36 * {@code listIterator()}). Then, it iterates over the list until the 36.97/11.36 * specified element is found or the end of the list is reached. 36.97/11.36 * 36.97/11.36 * @throws ClassCastException {@inheritDoc} 36.97/11.36 * @throws NullPointerException {@inheritDoc} 36.97/11.36 */ 36.97/11.36 public int indexOf(Object o) { 36.97/11.36 ListIterator e = listIterator(); 36.97/11.36 if (o==null) { 36.97/11.36 while (e.hasNext()) 36.97/11.36 if (e.next()==null) 36.97/11.36 return e.previousIndex(); 36.97/11.36 } else { 36.97/11.36 while (e.hasNext()) 36.97/11.36 if (o.equals(e.next())) 36.97/11.36 return e.previousIndex(); 36.97/11.36 } 36.97/11.36 return -1; 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * {@inheritDoc} 36.97/11.36 * 36.97/11.36 *

This implementation first gets a list iterator that points to the end 36.97/11.36 * of the list (with {@code listIterator(size())}). Then, it iterates 36.97/11.36 * backwards over the list until the specified element is found, or the 36.97/11.36 * beginning of the list is reached. 36.97/11.36 * 36.97/11.36 * @throws ClassCastException {@inheritDoc} 36.97/11.36 * @throws NullPointerException {@inheritDoc} 36.97/11.36 */ 36.97/11.36 public int lastIndexOf(Object o) { 36.97/11.36 ListIterator e = listIterator(size()); 36.97/11.36 if (o==null) { 36.97/11.36 while (e.hasPrevious()) 36.97/11.36 if (e.previous()==null) 36.97/11.36 return e.nextIndex(); 36.97/11.36 } else { 36.97/11.36 while (e.hasPrevious()) 36.97/11.36 if (o.equals(e.previous())) 36.97/11.36 return e.nextIndex(); 36.97/11.36 } 36.97/11.36 return -1; 36.97/11.36 } 36.97/11.36 36.97/11.36 36.97/11.36 // Bulk Operations 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Removes all of the elements from this list (optional operation). 36.97/11.36 * The list will be empty after this call returns. 36.97/11.36 * 36.97/11.36 *

This implementation calls {@code removeRange(0, size())}. 36.97/11.36 * 36.97/11.36 *

Note that this implementation throws an 36.97/11.36 * {@code UnsupportedOperationException} unless {@code remove(int 36.97/11.36 * index)} or {@code removeRange(int fromIndex, int toIndex)} is 36.97/11.36 * overridden. 36.97/11.36 * 36.97/11.36 * @throws UnsupportedOperationException if the {@code clear} operation 36.97/11.36 * is not supported by this list 36.97/11.36 */ 36.97/11.36 public void clear() { 36.97/11.36 removeRange(0, size()); 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * {@inheritDoc} 36.97/11.36 * 36.97/11.36 *

This implementation gets an iterator over the specified collection 36.97/11.36 * and iterates over it, inserting the elements obtained from the 36.97/11.36 * iterator into this list at the appropriate position, one at a time, 36.97/11.36 * using {@code add(int, E)}. 36.97/11.36 * Many implementations will override this method for efficiency. 36.97/11.36 * 36.97/11.36 *

Note that this implementation throws an 36.97/11.36 * {@code UnsupportedOperationException} unless 36.97/11.36 * {@link #add(int, Object) add(int, E)} is overridden. 36.97/11.36 * 36.97/11.36 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.36 * @throws ClassCastException {@inheritDoc} 36.97/11.36 * @throws NullPointerException {@inheritDoc} 36.97/11.36 * @throws IllegalArgumentException {@inheritDoc} 36.97/11.36 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.36 */ 36.97/11.36 public boolean addAll(int index, Collection c) { 36.97/11.36 rangeCheckForAdd(index); 36.97/11.36 boolean modified = false; 36.97/11.36 Iterator e = c.iterator(); 36.97/11.36 while (e.hasNext()) { 36.97/11.36 add(index++, e.next()); 36.97/11.36 modified = true; 36.97/11.36 } 36.97/11.36 return modified; 36.97/11.36 } 36.97/11.36 36.97/11.36 36.97/11.36 // Iterators 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Returns an iterator over the elements in this list in proper sequence. 36.97/11.36 * 36.97/11.36 *

This implementation returns a straightforward implementation of the 36.97/11.36 * iterator interface, relying on the backing list's {@code size()}, 36.97/11.36 * {@code get(int)}, and {@code remove(int)} methods. 36.97/11.36 * 36.97/11.36 *

Note that the iterator returned by this method will throw an 36.97/11.36 * {@link UnsupportedOperationException} in response to its 36.97/11.36 * {@code remove} method unless the list's {@code remove(int)} method is 36.97/11.36 * overridden. 36.97/11.36 * 36.97/11.36 *

This implementation can be made to throw runtime exceptions in the 36.97/11.36 * face of concurrent modification, as described in the specification 36.97/11.36 * for the (protected) {@link #modCount} field. 36.97/11.36 * 36.97/11.36 * @return an iterator over the elements in this list in proper sequence 36.97/11.36 */ 36.97/11.36 public Iterator iterator() { 36.97/11.36 return new Itr(); 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * {@inheritDoc} 36.97/11.36 * 36.97/11.36 *

This implementation returns {@code listIterator(0)}. 36.97/11.36 * 36.97/11.36 * @see #listIterator(int) 36.97/11.36 */ 36.97/11.36 public ListIterator listIterator() { 36.97/11.36 return listIterator(0); 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * {@inheritDoc} 36.97/11.36 * 36.97/11.36 *

This implementation returns a straightforward implementation of the 36.97/11.36 * {@code ListIterator} interface that extends the implementation of the 36.97/11.36 * {@code Iterator} interface returned by the {@code iterator()} method. 36.97/11.36 * The {@code ListIterator} implementation relies on the backing list's 36.97/11.36 * {@code get(int)}, {@code set(int, E)}, {@code add(int, E)} 36.97/11.36 * and {@code remove(int)} methods. 36.97/11.36 * 36.97/11.36 *

Note that the list iterator returned by this implementation will 36.97/11.36 * throw an {@link UnsupportedOperationException} in response to its 36.97/11.36 * {@code remove}, {@code set} and {@code add} methods unless the 36.97/11.36 * list's {@code remove(int)}, {@code set(int, E)}, and 36.97/11.36 * {@code add(int, E)} methods are overridden. 36.97/11.36 * 36.97/11.36 *

This implementation can be made to throw runtime exceptions in the 36.97/11.36 * face of concurrent modification, as described in the specification for 36.97/11.36 * the (protected) {@link #modCount} field. 36.97/11.36 * 36.97/11.36 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.36 */ 36.97/11.36 public ListIterator listIterator(final int index) { 36.97/11.36 rangeCheckForAdd(index); 36.97/11.36 36.97/11.36 return new ListItr(index); 36.97/11.36 } 36.97/11.36 36.97/11.36 private class Itr implements Iterator { 36.97/11.36 /** 36.97/11.36 * Index of element to be returned by subsequent call to next. 36.97/11.36 */ 36.97/11.36 int cursor = 0; 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Index of element returned by most recent call to next or 36.97/11.36 * previous. Reset to -1 if this element is deleted by a call 36.97/11.36 * to remove. 36.97/11.36 */ 36.97/11.36 int lastRet = -1; 36.97/11.36 36.97/11.36 /** 36.97/11.36 * The modCount value that the iterator believes that the backing 36.97/11.36 * List should have. If this expectation is violated, the iterator 36.97/11.36 * has detected concurrent modification. 36.97/11.36 */ 36.97/11.36 int expectedModCount = modCount; 36.97/11.36 36.97/11.36 public boolean hasNext() { 36.97/11.36 return cursor != size(); 36.97/11.36 } 36.97/11.36 36.97/11.36 public E next() { 36.97/11.36 checkForComodification(); 36.97/11.36 try { 36.97/11.36 int i = cursor; 36.97/11.36 E next = get(i); 36.97/11.36 lastRet = i; 36.97/11.36 cursor = i + 1; 36.97/11.36 return next; 36.97/11.36 } catch (IndexOutOfBoundsException e) { 36.97/11.36 checkForComodification(); 36.97/11.36 throw new NoSuchElementException(); 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 public void remove() { 36.97/11.36 if (lastRet < 0) 36.97/11.36 throw new IllegalStateException(); 36.97/11.36 checkForComodification(); 36.97/11.36 36.97/11.36 try { 36.97/11.36 AbstractList.this.remove(lastRet); 36.97/11.36 if (lastRet < cursor) 36.97/11.36 cursor--; 36.97/11.36 lastRet = -1; 36.97/11.36 expectedModCount = modCount; 36.97/11.36 } catch (IndexOutOfBoundsException e) { 36.97/11.36 throw new ConcurrentModificationException(); 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 final void checkForComodification() { 36.97/11.36 if (modCount != expectedModCount) 36.97/11.36 throw new ConcurrentModificationException(); 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 private class ListItr extends Itr implements ListIterator { 36.97/11.36 ListItr(int index) { 36.97/11.36 cursor = index; 36.97/11.36 } 36.97/11.36 36.97/11.36 public boolean hasPrevious() { 36.97/11.36 return cursor != 0; 36.97/11.36 } 36.97/11.36 36.97/11.36 public E previous() { 36.97/11.36 checkForComodification(); 36.97/11.36 try { 36.97/11.36 int i = cursor - 1; 36.97/11.36 E previous = get(i); 36.97/11.36 lastRet = cursor = i; 36.97/11.36 return previous; 36.97/11.36 } catch (IndexOutOfBoundsException e) { 36.97/11.36 checkForComodification(); 36.97/11.36 throw new NoSuchElementException(); 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 public int nextIndex() { 36.97/11.36 return cursor; 36.97/11.36 } 36.97/11.36 36.97/11.36 public int previousIndex() { 36.97/11.36 return cursor-1; 36.97/11.36 } 36.97/11.36 36.97/11.36 public void set(E e) { 36.97/11.36 if (lastRet < 0) 36.97/11.36 throw new IllegalStateException(); 36.97/11.36 checkForComodification(); 36.97/11.36 36.97/11.36 try { 36.97/11.36 AbstractList.this.set(lastRet, e); 36.97/11.36 expectedModCount = modCount; 36.97/11.36 } catch (IndexOutOfBoundsException ex) { 36.97/11.36 throw new ConcurrentModificationException(); 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 public void add(E e) { 36.97/11.36 checkForComodification(); 36.97/11.36 36.97/11.36 try { 36.97/11.36 int i = cursor; 36.97/11.36 AbstractList.this.add(i, e); 36.97/11.36 lastRet = -1; 36.97/11.36 cursor = i + 1; 36.97/11.36 expectedModCount = modCount; 36.97/11.36 } catch (IndexOutOfBoundsException ex) { 36.97/11.36 throw new ConcurrentModificationException(); 36.97/11.36 } 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * {@inheritDoc} 36.97/11.36 * 36.97/11.36 *

This implementation returns a list that subclasses 36.97/11.36 * {@code AbstractList}. The subclass stores, in private fields, the 36.97/11.36 * offset of the subList within the backing list, the size of the subList 36.97/11.36 * (which can change over its lifetime), and the expected 36.97/11.36 * {@code modCount} value of the backing list. There are two variants 36.97/11.36 * of the subclass, one of which implements {@code RandomAccess}. 36.97/11.36 * If this list implements {@code RandomAccess} the returned list will 36.97/11.36 * be an instance of the subclass that implements {@code RandomAccess}. 36.97/11.36 * 36.97/11.36 *

The subclass's {@code set(int, E)}, {@code get(int)}, 36.97/11.36 * {@code add(int, E)}, {@code remove(int)}, {@code addAll(int, 36.97/11.36 * Collection)} and {@code removeRange(int, int)} methods all 36.97/11.36 * delegate to the corresponding methods on the backing abstract list, 36.97/11.36 * after bounds-checking the index and adjusting for the offset. The 36.97/11.36 * {@code addAll(Collection c)} method merely returns {@code addAll(size, 36.97/11.36 * c)}. 36.97/11.36 * 36.97/11.36 *

The {@code listIterator(int)} method returns a "wrapper object" 36.97/11.36 * over a list iterator on the backing list, which is created with the 36.97/11.36 * corresponding method on the backing list. The {@code iterator} method 36.97/11.36 * merely returns {@code listIterator()}, and the {@code size} method 36.97/11.36 * merely returns the subclass's {@code size} field. 36.97/11.36 * 36.97/11.36 *

All methods first check to see if the actual {@code modCount} of 36.97/11.36 * the backing list is equal to its expected value, and throw a 36.97/11.36 * {@code ConcurrentModificationException} if it is not. 36.97/11.36 * 36.97/11.36 * @throws IndexOutOfBoundsException if an endpoint index value is out of range 36.97/11.36 * {@code (fromIndex < 0 || toIndex > size)} 36.97/11.36 * @throws IllegalArgumentException if the endpoint indices are out of order 36.97/11.36 * {@code (fromIndex > toIndex)} 36.97/11.36 */ 36.97/11.36 public List subList(int fromIndex, int toIndex) { 36.97/11.36 return (this instanceof RandomAccess ? 36.97/11.36 new RandomAccessSubList(this, fromIndex, toIndex) : 36.97/11.36 new SubList(this, fromIndex, toIndex)); 36.97/11.36 } 36.97/11.36 36.97/11.36 // Comparison and hashing 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Compares the specified object with this list for equality. Returns 36.97/11.36 * {@code true} if and only if the specified object is also a list, both 36.97/11.36 * lists have the same size, and all corresponding pairs of elements in 36.97/11.36 * the two lists are equal. (Two elements {@code e1} and 36.97/11.36 * {@code e2} are equal if {@code (e1==null ? e2==null : 36.97/11.36 * e1.equals(e2))}.) In other words, two lists are defined to be 36.97/11.36 * equal if they contain the same elements in the same order.

36.97/11.36 * 36.97/11.36 * This implementation first checks if the specified object is this 36.97/11.36 * list. If so, it returns {@code true}; if not, it checks if the 36.97/11.36 * specified object is a list. If not, it returns {@code false}; if so, 36.97/11.36 * it iterates over both lists, comparing corresponding pairs of elements. 36.97/11.36 * If any comparison returns {@code false}, this method returns 36.97/11.36 * {@code false}. If either iterator runs out of elements before the 36.97/11.36 * other it returns {@code false} (as the lists are of unequal length); 36.97/11.36 * otherwise it returns {@code true} when the iterations complete. 36.97/11.36 * 36.97/11.36 * @param o the object to be compared for equality with this list 36.97/11.36 * @return {@code true} if the specified object is equal to this list 36.97/11.36 */ 36.97/11.36 public boolean equals(Object o) { 36.97/11.36 if (o == this) 36.97/11.36 return true; 36.97/11.36 if (!(o instanceof List)) 36.97/11.36 return false; 36.97/11.36 36.97/11.36 ListIterator e1 = listIterator(); 36.97/11.36 ListIterator e2 = ((List) o).listIterator(); 36.97/11.36 while(e1.hasNext() && e2.hasNext()) { 36.97/11.36 E o1 = e1.next(); 36.97/11.36 Object o2 = e2.next(); 36.97/11.36 if (!(o1==null ? o2==null : o1.equals(o2))) 36.97/11.36 return false; 36.97/11.36 } 36.97/11.36 return !(e1.hasNext() || e2.hasNext()); 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Returns the hash code value for this list. 36.97/11.36 * 36.97/11.36 *

This implementation uses exactly the code that is used to define the 36.97/11.36 * list hash function in the documentation for the {@link List#hashCode} 36.97/11.36 * method. 36.97/11.36 * 36.97/11.36 * @return the hash code value for this list 36.97/11.36 */ 36.97/11.36 public int hashCode() { 36.97/11.36 int hashCode = 1; 36.97/11.36 Iterator it = this.iterator(); 36.97/11.36 while (it.hasNext()) { 36.97/11.36 E e = it.next(); 36.97/11.36 hashCode = 31*hashCode + (e==null ? 0 : e.hashCode()); 36.97/11.36 } 36.97/11.36 return hashCode; 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Removes from this list all of the elements whose index is between 36.97/11.36 * {@code fromIndex}, inclusive, and {@code toIndex}, exclusive. 36.97/11.36 * Shifts any succeeding elements to the left (reduces their index). 36.97/11.36 * This call shortens the list by {@code (toIndex - fromIndex)} elements. 36.97/11.36 * (If {@code toIndex==fromIndex}, this operation has no effect.) 36.97/11.36 * 36.97/11.36 *

This method is called by the {@code clear} operation on this list 36.97/11.36 * and its subLists. Overriding this method to take advantage of 36.97/11.36 * the internals of the list implementation can substantially 36.97/11.36 * improve the performance of the {@code clear} operation on this list 36.97/11.36 * and its subLists. 36.97/11.36 * 36.97/11.36 *

This implementation gets a list iterator positioned before 36.97/11.36 * {@code fromIndex}, and repeatedly calls {@code ListIterator.next} 36.97/11.36 * followed by {@code ListIterator.remove} until the entire range has 36.97/11.36 * been removed. Note: if {@code ListIterator.remove} requires linear 36.97/11.36 * time, this implementation requires quadratic time. 36.97/11.36 * 36.97/11.36 * @param fromIndex index of first element to be removed 36.97/11.36 * @param toIndex index after last element to be removed 36.97/11.36 */ 36.97/11.36 protected void removeRange(int fromIndex, int toIndex) { 36.97/11.36 ListIterator it = listIterator(fromIndex); 36.97/11.36 for (int i=0, n=toIndex-fromIndex; istructurally modified. 36.97/11.36 * Structural modifications are those that change the size of the 36.97/11.36 * list, or otherwise perturb it in such a fashion that iterations in 36.97/11.36 * progress may yield incorrect results. 36.97/11.36 * 36.97/11.36 *

This field is used by the iterator and list iterator implementation 36.97/11.36 * returned by the {@code iterator} and {@code listIterator} methods. 36.97/11.36 * If the value of this field changes unexpectedly, the iterator (or list 36.97/11.36 * iterator) will throw a {@code ConcurrentModificationException} in 36.97/11.36 * response to the {@code next}, {@code remove}, {@code previous}, 36.97/11.36 * {@code set} or {@code add} operations. This provides 36.97/11.36 * fail-fast behavior, rather than non-deterministic behavior in 36.97/11.36 * the face of concurrent modification during iteration. 36.97/11.36 * 36.97/11.36 *

Use of this field by subclasses is optional. If a subclass 36.97/11.36 * wishes to provide fail-fast iterators (and list iterators), then it 36.97/11.36 * merely has to increment this field in its {@code add(int, E)} and 36.97/11.36 * {@code remove(int)} methods (and any other methods that it overrides 36.97/11.36 * that result in structural modifications to the list). A single call to 36.97/11.36 * {@code add(int, E)} or {@code remove(int)} must add no more than 36.97/11.36 * one to this field, or the iterators (and list iterators) will throw 36.97/11.36 * bogus {@code ConcurrentModificationExceptions}. If an implementation 36.97/11.36 * does not wish to provide fail-fast iterators, this field may be 36.97/11.36 * ignored. 36.97/11.36 */ 36.97/11.36 protected transient int modCount = 0; 36.97/11.36 36.97/11.36 private void rangeCheckForAdd(int index) { 36.97/11.36 if (index < 0 || index > size()) 36.97/11.36 throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); 36.97/11.36 } 36.97/11.36 36.97/11.36 private String outOfBoundsMsg(int index) { 36.97/11.36 return ""; 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 class SubList extends AbstractList { 36.97/11.36 private final AbstractList l; 36.97/11.36 private final int offset; 36.97/11.36 private int size; 36.97/11.36 36.97/11.36 SubList(AbstractList list, int fromIndex, int toIndex) { 36.97/11.36 if (fromIndex < 0) 36.97/11.36 throw new IndexOutOfBoundsException(); 36.97/11.36 if (toIndex > list.size()) 36.97/11.36 throw new IndexOutOfBoundsException(); 36.97/11.36 if (fromIndex > toIndex) 36.97/11.36 throw new IllegalArgumentException(); 36.97/11.36 l = list; 36.97/11.36 offset = fromIndex; 36.97/11.36 size = toIndex - fromIndex; 36.97/11.36 this.modCount = l.modCount; 36.97/11.36 } 36.97/11.36 36.97/11.36 public E set(int index, E element) { 36.97/11.36 rangeCheck(index); 36.97/11.36 checkForComodification(); 36.97/11.36 return l.set(index+offset, element); 36.97/11.36 } 36.97/11.36 36.97/11.36 public E get(int index) { 36.97/11.36 rangeCheck(index); 36.97/11.36 checkForComodification(); 36.97/11.36 return l.get(index+offset); 36.97/11.36 } 36.97/11.36 36.97/11.36 public int size() { 36.97/11.36 checkForComodification(); 36.97/11.36 return size; 36.97/11.36 } 36.97/11.36 36.97/11.36 public void add(int index, E element) { 36.97/11.36 rangeCheckForAdd(index); 36.97/11.36 checkForComodification(); 36.97/11.36 l.add(index+offset, element); 36.97/11.36 this.modCount = l.modCount; 36.97/11.36 size++; 36.97/11.36 } 36.97/11.36 36.97/11.36 public E remove(int index) { 36.97/11.36 rangeCheck(index); 36.97/11.36 checkForComodification(); 36.97/11.36 E result = l.remove(index+offset); 36.97/11.36 this.modCount = l.modCount; 36.97/11.36 size--; 36.97/11.36 return result; 36.97/11.36 } 36.97/11.36 36.97/11.36 protected void removeRange(int fromIndex, int toIndex) { 36.97/11.36 checkForComodification(); 36.97/11.36 l.removeRange(fromIndex+offset, toIndex+offset); 36.97/11.36 this.modCount = l.modCount; 36.97/11.36 size -= (toIndex-fromIndex); 36.97/11.36 } 36.97/11.36 36.97/11.36 public boolean addAll(Collection c) { 36.97/11.36 return addAll(size, c); 36.97/11.36 } 36.97/11.36 36.97/11.36 public boolean addAll(int index, Collection c) { 36.97/11.36 rangeCheckForAdd(index); 36.97/11.36 int cSize = c.size(); 36.97/11.36 if (cSize==0) 36.97/11.36 return false; 36.97/11.36 36.97/11.36 checkForComodification(); 36.97/11.36 l.addAll(offset+index, c); 36.97/11.36 this.modCount = l.modCount; 36.97/11.36 size += cSize; 36.97/11.36 return true; 36.97/11.36 } 36.97/11.36 36.97/11.36 public Iterator iterator() { 36.97/11.36 return listIterator(); 36.97/11.36 } 36.97/11.36 36.97/11.36 public ListIterator listIterator(final int index) { 36.97/11.36 checkForComodification(); 36.97/11.36 rangeCheckForAdd(index); 36.97/11.36 36.97/11.36 return new ListIterator() { 36.97/11.36 private final ListIterator i = l.listIterator(index+offset); 36.97/11.36 36.97/11.36 public boolean hasNext() { 36.97/11.36 return nextIndex() < size; 36.97/11.36 } 36.97/11.36 36.97/11.36 public E next() { 36.97/11.36 if (hasNext()) 36.97/11.36 return i.next(); 36.97/11.36 else 36.97/11.36 throw new NoSuchElementException(); 36.97/11.36 } 36.97/11.36 36.97/11.36 public boolean hasPrevious() { 36.97/11.36 return previousIndex() >= 0; 36.97/11.36 } 36.97/11.36 36.97/11.36 public E previous() { 36.97/11.36 if (hasPrevious()) 36.97/11.36 return i.previous(); 36.97/11.36 else 36.97/11.36 throw new NoSuchElementException(); 36.97/11.36 } 36.97/11.36 36.97/11.36 public int nextIndex() { 36.97/11.36 return i.nextIndex() - offset; 36.97/11.36 } 36.97/11.36 36.97/11.36 public int previousIndex() { 36.97/11.36 return i.previousIndex() - offset; 36.97/11.36 } 36.97/11.36 36.97/11.36 public void remove() { 36.97/11.36 i.remove(); 36.97/11.36 SubList.this.modCount = l.modCount; 36.97/11.36 size--; 36.97/11.36 } 36.97/11.36 36.97/11.36 public void set(E e) { 36.97/11.36 i.set(e); 36.97/11.36 } 36.97/11.36 36.97/11.36 public void add(E e) { 36.97/11.36 i.add(e); 36.97/11.36 SubList.this.modCount = l.modCount; 36.97/11.36 size++; 36.97/11.36 } 36.97/11.36 }; 36.97/11.36 } 36.97/11.36 36.97/11.36 public List subList(int fromIndex, int toIndex) { 36.97/11.36 return new SubList(this, fromIndex, toIndex); 36.97/11.36 } 36.97/11.36 36.97/11.36 private void rangeCheck(int index) { 36.97/11.36 if (index < 0 || index >= size) 36.97/11.36 throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); 36.97/11.36 } 36.97/11.36 36.97/11.36 private void rangeCheckForAdd(int index) { 36.97/11.36 if (index < 0 || index > size) 36.97/11.36 throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); 36.97/11.36 } 36.97/11.36 36.97/11.36 private String outOfBoundsMsg(int index) { 36.97/11.36 return ""; 36.97/11.36 } 36.97/11.36 36.97/11.36 private void checkForComodification() { 36.97/11.36 if (this.modCount != l.modCount) 36.97/11.36 throw new ConcurrentModificationException(); 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 class RandomAccessSubList extends SubList implements RandomAccess { 36.97/11.36 RandomAccessSubList(AbstractList list, int fromIndex, int toIndex) { 36.97/11.36 super(list, fromIndex, toIndex); 36.97/11.36 } 36.97/11.36 36.97/11.36 public List subList(int fromIndex, int toIndex) { 36.97/11.36 return new RandomAccessSubList(this, fromIndex, toIndex); 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 36.97/11.36 /* 36.97/11.36 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.36 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.36 * 36.97/11.36 * This code is free software; you can redistribute it and/or modify it 36.97/11.36 * under the terms of the GNU General Public License version 2 only, as 36.97/11.36 * published by the Free Software Foundation. Sun designates this 36.97/11.36 * particular file as subject to the "Classpath" exception as provided 36.97/11.36 * by Sun in the LICENSE file that accompanied this code. 36.97/11.36 * 36.97/11.36 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.36 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.36 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.36 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.36 * accompanied this code). 36.97/11.36 * 36.97/11.36 * You should have received a copy of the GNU General Public License version 36.97/11.36 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.36 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.36 * 36.97/11.36 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.36 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.36 * have any questions. 36.97/11.36 */ 36.97/11.36 36.97/11.36 package javaUtilEx; 36.97/11.36 36.97/11.36 /** 36.97/11.36 * This class provides a skeletal implementation of the List 36.97/11.36 * interface to minimize the effort required to implement this interface 36.97/11.36 * backed by a "sequential access" data store (such as a linked list). For 36.97/11.36 * random access data (such as an array), AbstractList should be used 36.97/11.36 * in preference to this class.

36.97/11.36 * 36.97/11.36 * This class is the opposite of the AbstractList class in the sense 36.97/11.36 * that it implements the "random access" methods (get(int index), 36.97/11.36 * set(int index, E element), add(int index, E element) and 36.97/11.36 * remove(int index)) on top of the list's list iterator, instead of 36.97/11.36 * the other way around.

36.97/11.36 * 36.97/11.36 * To implement a list the programmer needs only to extend this class and 36.97/11.36 * provide implementations for the listIterator and size 36.97/11.36 * methods. For an unmodifiable list, the programmer need only implement the 36.97/11.36 * list iterator's hasNext, next, hasPrevious, 36.97/11.36 * previous and index methods.

36.97/11.36 * 36.97/11.36 * For a modifiable list the programmer should additionally implement the list 36.97/11.36 * iterator's set method. For a variable-size list the programmer 36.97/11.36 * should additionally implement the list iterator's remove and 36.97/11.36 * add methods.

36.97/11.36 * 36.97/11.36 * The programmer should generally provide a void (no argument) and collection 36.97/11.36 * constructor, as per the recommendation in the Collection interface 36.97/11.36 * specification.

36.97/11.36 * 36.97/11.36 * This class is a member of the 36.97/11.36 * 36.97/11.36 * Java Collections Framework. 36.97/11.36 * 36.97/11.36 * @author Josh Bloch 36.97/11.36 * @author Neal Gafter 36.97/11.36 * @see Collection 36.97/11.36 * @see List 36.97/11.36 * @see AbstractList 36.97/11.36 * @see AbstractCollection 36.97/11.36 * @since 1.2 36.97/11.36 */ 36.97/11.36 36.97/11.36 public abstract class AbstractSequentialList extends AbstractList { 36.97/11.36 /** 36.97/11.36 * Sole constructor. (For invocation by subclass constructors, typically 36.97/11.36 * implicit.) 36.97/11.36 */ 36.97/11.36 protected AbstractSequentialList() { 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Returns the element at the specified position in this list. 36.97/11.36 * 36.97/11.36 *

This implementation first gets a list iterator pointing to the 36.97/11.36 * indexed element (with listIterator(index)). Then, it gets 36.97/11.36 * the element using ListIterator.next and returns it. 36.97/11.36 * 36.97/11.36 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.36 */ 36.97/11.36 public E get(int index) { 36.97/11.36 try { 36.97/11.36 return listIterator(index).next(); 36.97/11.36 } catch (NoSuchElementException exc) { 36.97/11.36 throw new IndexOutOfBoundsException(); 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Replaces the element at the specified position in this list with the 36.97/11.36 * specified element (optional operation). 36.97/11.36 * 36.97/11.36 *

This implementation first gets a list iterator pointing to the 36.97/11.36 * indexed element (with listIterator(index)). Then, it gets 36.97/11.36 * the current element using ListIterator.next and replaces it 36.97/11.36 * with ListIterator.set. 36.97/11.36 * 36.97/11.36 *

Note that this implementation will throw an 36.97/11.36 * UnsupportedOperationException if the list iterator does not 36.97/11.36 * implement the set operation. 36.97/11.36 * 36.97/11.36 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.36 * @throws ClassCastException {@inheritDoc} 36.97/11.36 * @throws NullPointerException {@inheritDoc} 36.97/11.36 * @throws IllegalArgumentException {@inheritDoc} 36.97/11.36 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.36 */ 36.97/11.36 public E set(int index, E element) { 36.97/11.36 try { 36.97/11.36 ListIterator e = listIterator(index); 36.97/11.36 E oldVal = e.next(); 36.97/11.36 e.set(element); 36.97/11.36 return oldVal; 36.97/11.36 } catch (NoSuchElementException exc) { 36.97/11.36 throw new IndexOutOfBoundsException(); 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Inserts the specified element at the specified position in this list 36.97/11.36 * (optional operation). Shifts the element currently at that position 36.97/11.36 * (if any) and any subsequent elements to the right (adds one to their 36.97/11.36 * indices). 36.97/11.36 * 36.97/11.36 *

This implementation first gets a list iterator pointing to the 36.97/11.36 * indexed element (with listIterator(index)). Then, it 36.97/11.36 * inserts the specified element with ListIterator.add. 36.97/11.36 * 36.97/11.36 *

Note that this implementation will throw an 36.97/11.36 * UnsupportedOperationException if the list iterator does not 36.97/11.36 * implement the add operation. 36.97/11.36 * 36.97/11.36 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.36 * @throws ClassCastException {@inheritDoc} 36.97/11.36 * @throws NullPointerException {@inheritDoc} 36.97/11.36 * @throws IllegalArgumentException {@inheritDoc} 36.97/11.36 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.36 */ 36.97/11.36 public void add(int index, E element) { 36.97/11.36 try { 36.97/11.36 listIterator(index).add(element); 36.97/11.36 } catch (NoSuchElementException exc) { 36.97/11.36 throw new IndexOutOfBoundsException(); 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Removes the element at the specified position in this list (optional 36.97/11.36 * operation). Shifts any subsequent elements to the left (subtracts one 36.97/11.36 * from their indices). Returns the element that was removed from the 36.97/11.36 * list. 36.97/11.36 * 36.97/11.36 *

This implementation first gets a list iterator pointing to the 36.97/11.36 * indexed element (with listIterator(index)). Then, it removes 36.97/11.36 * the element with ListIterator.remove. 36.97/11.36 * 36.97/11.36 *

Note that this implementation will throw an 36.97/11.36 * UnsupportedOperationException if the list iterator does not 36.97/11.36 * implement the remove operation. 36.97/11.36 * 36.97/11.36 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.36 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.36 */ 36.97/11.36 public E remove(int index) { 36.97/11.36 try { 36.97/11.36 ListIterator e = listIterator(index); 36.97/11.36 E outCast = e.next(); 36.97/11.36 e.remove(); 36.97/11.36 return outCast; 36.97/11.36 } catch (NoSuchElementException exc) { 36.97/11.36 throw new IndexOutOfBoundsException(); 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 36.97/11.36 // Bulk Operations 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Inserts all of the elements in the specified collection into this 36.97/11.36 * list at the specified position (optional operation). Shifts the 36.97/11.36 * element currently at that position (if any) and any subsequent 36.97/11.36 * elements to the right (increases their indices). The new elements 36.97/11.36 * will appear in this list in the order that they are returned by the 36.97/11.36 * specified collection's iterator. The behavior of this operation is 36.97/11.36 * undefined if the specified collection is modified while the 36.97/11.36 * operation is in progress. (Note that this will occur if the specified 36.97/11.36 * collection is this list, and it's nonempty.) 36.97/11.36 * 36.97/11.36 *

This implementation gets an iterator over the specified collection and 36.97/11.36 * a list iterator over this list pointing to the indexed element (with 36.97/11.36 * listIterator(index)). Then, it iterates over the specified 36.97/11.36 * collection, inserting the elements obtained from the iterator into this 36.97/11.36 * list, one at a time, using ListIterator.add followed by 36.97/11.36 * ListIterator.next (to skip over the added element). 36.97/11.36 * 36.97/11.36 *

Note that this implementation will throw an 36.97/11.36 * UnsupportedOperationException if the list iterator returned by 36.97/11.36 * the listIterator method does not implement the add 36.97/11.36 * operation. 36.97/11.36 * 36.97/11.36 * @throws UnsupportedOperationException {@inheritDoc} 36.97/11.36 * @throws ClassCastException {@inheritDoc} 36.97/11.36 * @throws NullPointerException {@inheritDoc} 36.97/11.36 * @throws IllegalArgumentException {@inheritDoc} 36.97/11.36 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.36 */ 36.97/11.36 public boolean addAll(int index, Collection c) { 36.97/11.36 try { 36.97/11.36 boolean modified = false; 36.97/11.36 ListIterator e1 = listIterator(index); 36.97/11.36 Iterator e2 = c.iterator(); 36.97/11.36 while (e2.hasNext()) { 36.97/11.36 e1.add(e2.next()); 36.97/11.36 modified = true; 36.97/11.36 } 36.97/11.36 return modified; 36.97/11.36 } catch (NoSuchElementException exc) { 36.97/11.36 throw new IndexOutOfBoundsException(); 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 36.97/11.36 // Iterators 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Returns an iterator over the elements in this list (in proper 36.97/11.36 * sequence).

36.97/11.36 * 36.97/11.36 * This implementation merely returns a list iterator over the list. 36.97/11.36 * 36.97/11.36 * @return an iterator over the elements in this list (in proper sequence) 36.97/11.36 */ 36.97/11.36 public Iterator iterator() { 36.97/11.36 return listIterator(); 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Returns a list iterator over the elements in this list (in proper 36.97/11.36 * sequence). 36.97/11.36 * 36.97/11.36 * @param index index of first element to be returned from the list 36.97/11.36 * iterator (by a call to the next method) 36.97/11.36 * @return a list iterator over the elements in this list (in proper 36.97/11.36 * sequence) 36.97/11.36 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.36 */ 36.97/11.36 public abstract ListIterator listIterator(int index); 36.97/11.36 } 36.97/11.36 36.97/11.36 36.97/11.36 /* 36.97/11.36 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.36 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.36 * 36.97/11.36 * This code is free software; you can redistribute it and/or modify it 36.97/11.36 * under the terms of the GNU General Public License version 2 only, as 36.97/11.36 * published by the Free Software Foundation. Sun designates this 36.97/11.36 * particular file as subject to the "Classpath" exception as provided 36.97/11.36 * by Sun in the LICENSE file that accompanied this code. 36.97/11.36 * 36.97/11.36 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.36 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.36 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.36 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.36 * accompanied this code). 36.97/11.36 * 36.97/11.36 * You should have received a copy of the GNU General Public License version 36.97/11.36 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.36 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.36 * 36.97/11.36 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.36 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.36 * have any questions. 36.97/11.36 */ 36.97/11.36 36.97/11.36 package javaUtilEx; 36.97/11.36 36.97/11.36 /** 36.97/11.36 * The root interface in the collection hierarchy. A collection 36.97/11.36 * represents a group of objects, known as its elements. Some 36.97/11.36 * collections allow duplicate elements and others do not. Some are ordered 36.97/11.36 * and others unordered. The JDK does not provide any direct 36.97/11.36 * implementations of this interface: it provides implementations of more 36.97/11.36 * specific subinterfaces like Set and List. This interface 36.97/11.36 * is typically used to pass collections around and manipulate them where 36.97/11.36 * maximum generality is desired. 36.97/11.36 * 36.97/11.36 *

Bags or multisets (unordered collections that may contain 36.97/11.36 * duplicate elements) should implement this interface directly. 36.97/11.36 * 36.97/11.36 *

All general-purpose Collection implementation classes (which 36.97/11.36 * typically implement Collection indirectly through one of its 36.97/11.36 * subinterfaces) should provide two "standard" constructors: a void (no 36.97/11.36 * arguments) constructor, which creates an empty collection, and a 36.97/11.36 * constructor with a single argument of type Collection, which 36.97/11.36 * creates a new collection with the same elements as its argument. In 36.97/11.36 * effect, the latter constructor allows the user to copy any collection, 36.97/11.36 * producing an equivalent collection of the desired implementation type. 36.97/11.36 * There is no way to enforce this convention (as interfaces cannot contain 36.97/11.36 * constructors) but all of the general-purpose Collection 36.97/11.36 * implementations in the Java platform libraries comply. 36.97/11.36 * 36.97/11.36 *

The "destructive" methods contained in this interface, that is, the 36.97/11.36 * methods that modify the collection on which they operate, are specified to 36.97/11.36 * throw UnsupportedOperationException if this collection does not 36.97/11.36 * support the operation. If this is the case, these methods may, but are not 36.97/11.36 * required to, throw an UnsupportedOperationException if the 36.97/11.36 * invocation would have no effect on the collection. For example, invoking 36.97/11.36 * the {@link #addAll(Collection)} method on an unmodifiable collection may, 36.97/11.36 * but is not required to, throw the exception if the collection to be added 36.97/11.36 * is empty. 36.97/11.36 * 36.97/11.36 *

Some collection implementations have restrictions on the elements that 36.97/11.36 * they may contain. For example, some implementations prohibit null elements, 36.97/11.36 * and some have restrictions on the types of their elements. Attempting to 36.97/11.36 * add an ineligible element throws an unchecked exception, typically 36.97/11.36 * NullPointerException or ClassCastException. Attempting 36.97/11.36 * to query the presence of an ineligible element may throw an exception, 36.97/11.36 * or it may simply return false; some implementations will exhibit the former 36.97/11.36 * behavior and some will exhibit the latter. More generally, attempting an 36.97/11.36 * operation on an ineligible element whose completion would not result in 36.97/11.36 * the insertion of an ineligible element into the collection may throw an 36.97/11.36 * exception or it may succeed, at the option of the implementation. 36.97/11.36 * Such exceptions are marked as "optional" in the specification for this 36.97/11.36 * interface. 36.97/11.36 * 36.97/11.36 *

It is up to each collection to determine its own synchronization 36.97/11.36 * policy. In the absence of a stronger guarantee by the 36.97/11.36 * implementation, undefined behavior may result from the invocation 36.97/11.36 * of any method on a collection that is being mutated by another 36.97/11.36 * thread; this includes direct invocations, passing the collection to 36.97/11.36 * a method that might perform invocations, and using an existing 36.97/11.36 * iterator to examine the collection. 36.97/11.36 * 36.97/11.36 *

Many methods in Collections Framework interfaces are defined in 36.97/11.36 * terms of the {@link Object#equals(Object) equals} method. For example, 36.97/11.36 * the specification for the {@link #contains(Object) contains(Object o)} 36.97/11.36 * method says: "returns true if and only if this collection 36.97/11.36 * contains at least one element e such that 36.97/11.36 * (o==null ? e==null : o.equals(e))." This specification should 36.97/11.36 * not be construed to imply that invoking Collection.contains 36.97/11.36 * with a non-null argument o will cause o.equals(e) to be 36.97/11.36 * invoked for any element e. Implementations are free to implement 36.97/11.36 * optimizations whereby the equals invocation is avoided, for 36.97/11.36 * example, by first comparing the hash codes of the two elements. (The 36.97/11.36 * {@link Object#hashCode()} specification guarantees that two objects with 36.97/11.36 * unequal hash codes cannot be equal.) More generally, implementations of 36.97/11.36 * the various Collections Framework interfaces are free to take advantage of 36.97/11.36 * the specified behavior of underlying {@link Object} methods wherever the 36.97/11.36 * implementor deems it appropriate. 36.97/11.36 * 36.97/11.36 *

This interface is a member of the 36.97/11.36 * 36.97/11.36 * Java Collections Framework. 36.97/11.36 * 36.97/11.36 * @author Josh Bloch 36.97/11.36 * @author Neal Gafter 36.97/11.36 * @see Set 36.97/11.36 * @see List 36.97/11.36 * @see Map 36.97/11.36 * @see SortedSet 36.97/11.36 * @see SortedMap 36.97/11.36 * @see HashSet 36.97/11.36 * @see TreeSet 36.97/11.36 * @see ArrayList 36.97/11.36 * @see LinkedList 36.97/11.36 * @see Vector 36.97/11.36 * @see Collections 36.97/11.36 * @see Arrays 36.97/11.36 * @see AbstractCollection 36.97/11.36 * @since 1.2 36.97/11.36 */ 36.97/11.36 36.97/11.36 public interface Collection { 36.97/11.36 // Query Operations 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Returns the number of elements in this collection. If this collection 36.97/11.36 * contains more than Integer.MAX_VALUE elements, returns 36.97/11.36 * Integer.MAX_VALUE. 36.97/11.36 * 36.97/11.36 * @return the number of elements in this collection 36.97/11.36 */ 36.97/11.36 int size(); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Returns true if this collection contains no elements. 36.97/11.36 * 36.97/11.36 * @return true if this collection contains no elements 36.97/11.36 */ 36.97/11.36 boolean isEmpty(); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Returns true if this collection contains the specified element. 36.97/11.36 * More formally, returns true if and only if this collection 36.97/11.36 * contains at least one element e such that 36.97/11.36 * (o==null ? e==null : o.equals(e)). 36.97/11.36 * 36.97/11.36 * @param o element whose presence in this collection is to be tested 36.97/11.36 * @return true if this collection contains the specified 36.97/11.36 * element 36.97/11.36 * @throws ClassCastException if the type of the specified element 36.97/11.36 * is incompatible with this collection (optional) 36.97/11.36 * @throws NullPointerException if the specified element is null and this 36.97/11.36 * collection does not permit null elements (optional) 36.97/11.36 */ 36.97/11.36 boolean contains(Object o); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Returns an iterator over the elements in this collection. There are no 36.97/11.36 * guarantees concerning the order in which the elements are returned 36.97/11.36 * (unless this collection is an instance of some class that provides a 36.97/11.36 * guarantee). 36.97/11.36 * 36.97/11.36 * @return an Iterator over the elements in this collection 36.97/11.36 */ 36.97/11.36 Iterator iterator(); 36.97/11.36 36.97/11.36 // Modification Operations 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Ensures that this collection contains the specified element (optional 36.97/11.36 * operation). Returns true if this collection changed as a 36.97/11.36 * result of the call. (Returns false if this collection does 36.97/11.36 * not permit duplicates and already contains the specified element.)

36.97/11.36 * 36.97/11.36 * Collections that support this operation may place limitations on what 36.97/11.36 * elements may be added to this collection. In particular, some 36.97/11.36 * collections will refuse to add null elements, and others will 36.97/11.36 * impose restrictions on the type of elements that may be added. 36.97/11.36 * Collection classes should clearly specify in their documentation any 36.97/11.36 * restrictions on what elements may be added.

36.97/11.36 * 36.97/11.36 * If a collection refuses to add a particular element for any reason 36.97/11.36 * other than that it already contains the element, it must throw 36.97/11.36 * an exception (rather than returning false). This preserves 36.97/11.36 * the invariant that a collection always contains the specified element 36.97/11.36 * after this call returns. 36.97/11.36 * 36.97/11.36 * @param e element whose presence in this collection is to be ensured 36.97/11.36 * @return true if this collection changed as a result of the 36.97/11.36 * call 36.97/11.36 * @throws UnsupportedOperationException if the add operation 36.97/11.36 * is not supported by this collection 36.97/11.36 * @throws ClassCastException if the class of the specified element 36.97/11.36 * prevents it from being added to this collection 36.97/11.36 * @throws NullPointerException if the specified element is null and this 36.97/11.36 * collection does not permit null elements 36.97/11.36 * @throws IllegalArgumentException if some property of the element 36.97/11.36 * prevents it from being added to this collection 36.97/11.36 * @throws IllegalStateException if the element cannot be added at this 36.97/11.36 * time due to insertion restrictions 36.97/11.36 */ 36.97/11.36 boolean add(E e); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Removes a single instance of the specified element from this 36.97/11.36 * collection, if it is present (optional operation). More formally, 36.97/11.36 * removes an element e such that 36.97/11.36 * (o==null ? e==null : o.equals(e)), if 36.97/11.36 * this collection contains one or more such elements. Returns 36.97/11.36 * true if this collection contained the specified element (or 36.97/11.36 * equivalently, if this collection changed as a result of the call). 36.97/11.36 * 36.97/11.36 * @param o element to be removed from this collection, if present 36.97/11.36 * @return true if an element was removed as a result of this call 36.97/11.36 * @throws ClassCastException if the type of the specified element 36.97/11.36 * is incompatible with this collection (optional) 36.97/11.36 * @throws NullPointerException if the specified element is null and this 36.97/11.36 * collection does not permit null elements (optional) 36.97/11.36 * @throws UnsupportedOperationException if the remove operation 36.97/11.36 * is not supported by this collection 36.97/11.36 */ 36.97/11.36 boolean remove(Object o); 36.97/11.36 36.97/11.36 36.97/11.36 // Bulk Operations 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Returns true if this collection contains all of the elements 36.97/11.36 * in the specified collection. 36.97/11.36 * 36.97/11.36 * @param c collection to be checked for containment in this collection 36.97/11.36 * @return true if this collection contains all of the elements 36.97/11.36 * in the specified collection 36.97/11.36 * @throws ClassCastException if the types of one or more elements 36.97/11.36 * in the specified collection are incompatible with this 36.97/11.36 * collection (optional) 36.97/11.36 * @throws NullPointerException if the specified collection contains one 36.97/11.36 * or more null elements and this collection does not permit null 36.97/11.36 * elements (optional), or if the specified collection is null 36.97/11.36 * @see #contains(Object) 36.97/11.36 */ 36.97/11.36 boolean containsAll(Collection c); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Adds all of the elements in the specified collection to this collection 36.97/11.36 * (optional operation). The behavior of this operation is undefined if 36.97/11.36 * the specified collection is modified while the operation is in progress. 36.97/11.36 * (This implies that the behavior of this call is undefined if the 36.97/11.36 * specified collection is this collection, and this collection is 36.97/11.36 * nonempty.) 36.97/11.36 * 36.97/11.36 * @param c collection containing elements to be added to this collection 36.97/11.36 * @return true if this collection changed as a result of the call 36.97/11.36 * @throws UnsupportedOperationException if the addAll operation 36.97/11.36 * is not supported by this collection 36.97/11.36 * @throws ClassCastException if the class of an element of the specified 36.97/11.36 * collection prevents it from being added to this collection 36.97/11.36 * @throws NullPointerException if the specified collection contains a 36.97/11.36 * null element and this collection does not permit null elements, 36.97/11.36 * or if the specified collection is null 36.97/11.36 * @throws IllegalArgumentException if some property of an element of the 36.97/11.36 * specified collection prevents it from being added to this 36.97/11.36 * collection 36.97/11.36 * @throws IllegalStateException if not all the elements can be added at 36.97/11.36 * this time due to insertion restrictions 36.97/11.36 * @see #add(Object) 36.97/11.36 */ 36.97/11.36 boolean addAll(Collection c); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Removes all of this collection's elements that are also contained in the 36.97/11.36 * specified collection (optional operation). After this call returns, 36.97/11.36 * this collection will contain no elements in common with the specified 36.97/11.36 * collection. 36.97/11.36 * 36.97/11.36 * @param c collection containing elements to be removed from this collection 36.97/11.36 * @return true if this collection changed as a result of the 36.97/11.36 * call 36.97/11.36 * @throws UnsupportedOperationException if the removeAll method 36.97/11.36 * is not supported by this collection 36.97/11.36 * @throws ClassCastException if the types of one or more elements 36.97/11.36 * in this collection are incompatible with the specified 36.97/11.36 * collection (optional) 36.97/11.36 * @throws NullPointerException if this collection contains one or more 36.97/11.36 * null elements and the specified collection does not support 36.97/11.36 * null elements (optional), or if the specified collection is null 36.97/11.36 * @see #remove(Object) 36.97/11.36 * @see #contains(Object) 36.97/11.36 */ 36.97/11.36 boolean removeAll(Collection c); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Retains only the elements in this collection that are contained in the 36.97/11.36 * specified collection (optional operation). In other words, removes from 36.97/11.36 * this collection all of its elements that are not contained in the 36.97/11.36 * specified collection. 36.97/11.36 * 36.97/11.36 * @param c collection containing elements to be retained in this collection 36.97/11.36 * @return true if this collection changed as a result of the call 36.97/11.36 * @throws UnsupportedOperationException if the retainAll operation 36.97/11.36 * is not supported by this collection 36.97/11.36 * @throws ClassCastException if the types of one or more elements 36.97/11.36 * in this collection are incompatible with the specified 36.97/11.36 * collection (optional) 36.97/11.36 * @throws NullPointerException if this collection contains one or more 36.97/11.36 * null elements and the specified collection does not permit null 36.97/11.36 * elements (optional), or if the specified collection is null 36.97/11.36 * @see #remove(Object) 36.97/11.36 * @see #contains(Object) 36.97/11.36 */ 36.97/11.36 boolean retainAll(Collection c); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Removes all of the elements from this collection (optional operation). 36.97/11.36 * The collection will be empty after this method returns. 36.97/11.36 * 36.97/11.36 * @throws UnsupportedOperationException if the clear operation 36.97/11.36 * is not supported by this collection 36.97/11.36 */ 36.97/11.36 void clear(); 36.97/11.36 36.97/11.36 36.97/11.36 // Comparison and hashing 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Compares the specified object with this collection for equality.

36.97/11.36 * 36.97/11.36 * While the Collection interface adds no stipulations to the 36.97/11.36 * general contract for the Object.equals, programmers who 36.97/11.36 * implement the Collection interface "directly" (in other words, 36.97/11.36 * create a class that is a Collection but is not a Set 36.97/11.36 * or a List) must exercise care if they choose to override the 36.97/11.36 * Object.equals. It is not necessary to do so, and the simplest 36.97/11.36 * course of action is to rely on Object's implementation, but 36.97/11.36 * the implementor may wish to implement a "value comparison" in place of 36.97/11.36 * the default "reference comparison." (The List and 36.97/11.36 * Set interfaces mandate such value comparisons.)

36.97/11.36 * 36.97/11.36 * The general contract for the Object.equals method states that 36.97/11.36 * equals must be symmetric (in other words, a.equals(b) if and 36.97/11.36 * only if b.equals(a)). The contracts for List.equals 36.97/11.36 * and Set.equals state that lists are only equal to other lists, 36.97/11.36 * and sets to other sets. Thus, a custom equals method for a 36.97/11.36 * collection class that implements neither the List nor 36.97/11.36 * Set interface must return false when this collection 36.97/11.36 * is compared to any list or set. (By the same logic, it is not possible 36.97/11.36 * to write a class that correctly implements both the Set and 36.97/11.36 * List interfaces.) 36.97/11.36 * 36.97/11.36 * @param o object to be compared for equality with this collection 36.97/11.36 * @return true if the specified object is equal to this 36.97/11.36 * collection 36.97/11.36 * 36.97/11.36 * @see Object#equals(Object) 36.97/11.36 * @see Set#equals(Object) 36.97/11.36 * @see List#equals(Object) 36.97/11.36 */ 36.97/11.36 boolean equals(Object o); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Returns the hash code value for this collection. While the 36.97/11.36 * Collection interface adds no stipulations to the general 36.97/11.36 * contract for the Object.hashCode method, programmers should 36.97/11.36 * take note that any class that overrides the Object.equals 36.97/11.36 * method must also override the Object.hashCode method in order 36.97/11.36 * to satisfy the general contract for the Object.hashCodemethod. 36.97/11.36 * In particular, c1.equals(c2) implies that 36.97/11.36 * c1.hashCode()==c2.hashCode(). 36.97/11.36 * 36.97/11.36 * @return the hash code value for this collection 36.97/11.36 * 36.97/11.36 * @see Object#hashCode() 36.97/11.36 * @see Object#equals(Object) 36.97/11.36 */ 36.97/11.36 int hashCode(); 36.97/11.36 } 36.97/11.36 36.97/11.36 36.97/11.36 /* 36.97/11.36 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.36 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.36 * 36.97/11.36 * This code is free software; you can redistribute it and/or modify it 36.97/11.36 * under the terms of the GNU General Public License version 2 only, as 36.97/11.36 * published by the Free Software Foundation. Sun designates this 36.97/11.36 * particular file as subject to the "Classpath" exception as provided 36.97/11.36 * by Sun in the LICENSE file that accompanied this code. 36.97/11.36 * 36.97/11.36 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.36 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.36 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.36 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.36 * accompanied this code). 36.97/11.36 * 36.97/11.36 * You should have received a copy of the GNU General Public License version 36.97/11.36 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.36 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.36 * 36.97/11.36 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.36 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.36 * have any questions. 36.97/11.36 */ 36.97/11.36 36.97/11.36 package javaUtilEx; 36.97/11.36 36.97/11.36 /** 36.97/11.36 * This exception may be thrown by methods that have detected concurrent 36.97/11.36 * modification of an object when such modification is not permissible. 36.97/11.36 *

36.97/11.36 * For example, it is not generally permissible for one thread to modify a Collection 36.97/11.36 * while another thread is iterating over it. In general, the results of the 36.97/11.36 * iteration are undefined under these circumstances. Some Iterator 36.97/11.36 * implementations (including those of all the general purpose collection implementations 36.97/11.36 * provided by the JRE) may choose to throw this exception if this behavior is 36.97/11.36 * detected. Iterators that do this are known as fail-fast iterators, 36.97/11.36 * as they fail quickly and cleanly, rather that risking arbitrary, 36.97/11.36 * non-deterministic behavior at an undetermined time in the future. 36.97/11.36 *

36.97/11.36 * Note that this exception does not always indicate that an object has 36.97/11.36 * been concurrently modified by a different thread. If a single 36.97/11.36 * thread issues a sequence of method invocations that violates the 36.97/11.36 * contract of an object, the object may throw this exception. For 36.97/11.36 * example, if a thread modifies a collection directly while it is 36.97/11.36 * iterating over the collection with a fail-fast iterator, the iterator 36.97/11.36 * will throw this exception. 36.97/11.36 * 36.97/11.36 *

Note that fail-fast behavior cannot be guaranteed as it is, generally 36.97/11.36 * speaking, impossible to make any hard guarantees in the presence of 36.97/11.36 * unsynchronized concurrent modification. Fail-fast operations 36.97/11.36 * throw ConcurrentModificationException on a best-effort basis. 36.97/11.36 * Therefore, it would be wrong to write a program that depended on this 36.97/11.36 * exception for its correctness: ConcurrentModificationException 36.97/11.36 * should be used only to detect bugs. 36.97/11.36 * 36.97/11.36 * @author Josh Bloch 36.97/11.36 * @see Collection 36.97/11.36 * @see Iterator 36.97/11.36 * @see ListIterator 36.97/11.36 * @see Vector 36.97/11.36 * @see LinkedList 36.97/11.36 * @see HashSet 36.97/11.36 * @see Hashtable 36.97/11.36 * @see TreeMap 36.97/11.36 * @see AbstractList 36.97/11.36 * @since 1.2 36.97/11.36 */ 36.97/11.36 public class ConcurrentModificationException extends RuntimeException { 36.97/11.36 /** 36.97/11.36 * Constructs a ConcurrentModificationException with no 36.97/11.36 * detail message. 36.97/11.36 */ 36.97/11.36 public ConcurrentModificationException() { 36.97/11.36 } 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Constructs a ConcurrentModificationException with the 36.97/11.36 * specified detail message. 36.97/11.36 * 36.97/11.36 * @param message the detail message pertaining to this exception. 36.97/11.36 */ 36.97/11.36 public ConcurrentModificationException(String message) { 36.97/11.36 super(message); 36.97/11.36 } 36.97/11.36 } 36.97/11.36 36.97/11.36 36.97/11.36 /* 36.97/11.36 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.36 * 36.97/11.36 * This code is free software; you can redistribute it and/or modify it 36.97/11.36 * under the terms of the GNU General Public License version 2 only, as 36.97/11.36 * published by the Free Software Foundation. Sun designates this 36.97/11.36 * particular file as subject to the "Classpath" exception as provided 36.97/11.36 * by Sun in the LICENSE file that accompanied this code. 36.97/11.36 * 36.97/11.36 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.36 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.36 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.36 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.36 * accompanied this code). 36.97/11.36 * 36.97/11.36 * You should have received a copy of the GNU General Public License version 36.97/11.36 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.36 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.36 * 36.97/11.36 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.36 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.36 * have any questions. 36.97/11.36 */ 36.97/11.36 36.97/11.36 /* 36.97/11.36 * This file is available under and governed by the GNU General Public 36.97/11.36 * License version 2 only, as published by the Free Software Foundation. 36.97/11.36 * However, the following notice accompanied the original version of this 36.97/11.36 * file: 36.97/11.36 * 36.97/11.36 * Written by Doug Lea and Josh Bloch with assistance from members of 36.97/11.36 * JCP JSR-166 Expert Group and released to the public domain, as explained 36.97/11.36 * at http://creativecommons.org/licenses/publicdomain 36.97/11.36 */ 36.97/11.36 36.97/11.36 package javaUtilEx; 36.97/11.36 36.97/11.36 /** 36.97/11.36 * A linear collection that supports element insertion and removal at 36.97/11.36 * both ends. The name deque is short for "double ended queue" 36.97/11.36 * and is usually pronounced "deck". Most Deque 36.97/11.36 * implementations place no fixed limits on the number of elements 36.97/11.36 * they may contain, but this interface supports capacity-restricted 36.97/11.36 * deques as well as those with no fixed size limit. 36.97/11.36 * 36.97/11.36 *

This interface defines methods to access the elements at both 36.97/11.36 * ends of the deque. Methods are provided to insert, remove, and 36.97/11.36 * examine the element. Each of these methods exists in two forms: 36.97/11.36 * one throws an exception if the operation fails, the other returns a 36.97/11.36 * special value (either null or false, depending on 36.97/11.36 * the operation). The latter form of the insert operation is 36.97/11.36 * designed specifically for use with capacity-restricted 36.97/11.36 * Deque implementations; in most implementations, insert 36.97/11.36 * operations cannot fail. 36.97/11.36 * 36.97/11.36 *

The twelve methods described above are summarized in the 36.97/11.36 * following table: 36.97/11.36 * 36.97/11.36 *

36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 *
First Element (Head) Last Element (Tail)
Throws exceptionSpecial valueThrows exceptionSpecial value
Insert{@link #addFirst addFirst(e)}{@link #offerFirst offerFirst(e)}{@link #addLast addLast(e)}{@link #offerLast offerLast(e)}
Remove{@link #removeFirst removeFirst()}{@link #pollFirst pollFirst()}{@link #removeLast removeLast()}{@link #pollLast pollLast()}
Examine{@link #getFirst getFirst()}{@link #peekFirst peekFirst()}{@link #getLast getLast()}{@link #peekLast peekLast()}
36.97/11.36 * 36.97/11.36 *

This interface extends the {@link Queue} interface. When a deque is 36.97/11.36 * used as a queue, FIFO (First-In-First-Out) behavior results. Elements are 36.97/11.36 * added at the end of the deque and removed from the beginning. The methods 36.97/11.36 * inherited from the Queue interface are precisely equivalent to 36.97/11.36 * Deque methods as indicated in the following table: 36.97/11.36 * 36.97/11.36 *

36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 *
Queue Method Equivalent Deque Method
{@link java.util.Queue#add add(e)}{@link #addLast addLast(e)}
{@link java.util.Queue#offer offer(e)}{@link #offerLast offerLast(e)}
{@link java.util.Queue#remove remove()}{@link #removeFirst removeFirst()}
{@link java.util.Queue#poll poll()}{@link #pollFirst pollFirst()}
{@link java.util.Queue#element element()}{@link #getFirst getFirst()}
{@link java.util.Queue#peek peek()}{@link #peek peekFirst()}
36.97/11.36 * 36.97/11.36 *

Deques can also be used as LIFO (Last-In-First-Out) stacks. This 36.97/11.36 * interface should be used in preference to the legacy {@link Stack} class. 36.97/11.36 * When a deque is used as a stack, elements are pushed and popped from the 36.97/11.36 * beginning of the deque. Stack methods are precisely equivalent to 36.97/11.36 * Deque methods as indicated in the table below: 36.97/11.36 * 36.97/11.36 *

36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 * 36.97/11.36 *
Stack Method Equivalent Deque Method
{@link #push push(e)}{@link #addFirst addFirst(e)}
{@link #pop pop()}{@link #removeFirst removeFirst()}
{@link #peek peek()}{@link #peekFirst peekFirst()}
36.97/11.36 * 36.97/11.36 *

Note that the {@link #peek peek} method works equally well when 36.97/11.36 * a deque is used as a queue or a stack; in either case, elements are 36.97/11.36 * drawn from the beginning of the deque. 36.97/11.36 * 36.97/11.36 *

This interface provides two methods to remove interior 36.97/11.36 * elements, {@link #removeFirstOccurrence removeFirstOccurrence} and 36.97/11.36 * {@link #removeLastOccurrence removeLastOccurrence}. 36.97/11.36 * 36.97/11.36 *

Unlike the {@link List} interface, this interface does not 36.97/11.36 * provide support for indexed access to elements. 36.97/11.36 * 36.97/11.36 *

While Deque implementations are not strictly required 36.97/11.36 * to prohibit the insertion of null elements, they are strongly 36.97/11.36 * encouraged to do so. Users of any Deque implementations 36.97/11.36 * that do allow null elements are strongly encouraged not to 36.97/11.36 * take advantage of the ability to insert nulls. This is so because 36.97/11.36 * null is used as a special return value by various methods 36.97/11.36 * to indicated that the deque is empty. 36.97/11.36 * 36.97/11.36 *

Deque implementations generally do not define 36.97/11.36 * element-based versions of the equals and hashCode 36.97/11.36 * methods, but instead inherit the identity-based versions from class 36.97/11.36 * Object. 36.97/11.36 * 36.97/11.36 *

This interface is a member of the Java Collections 36.97/11.36 * Framework. 36.97/11.36 * 36.97/11.36 * @author Doug Lea 36.97/11.36 * @author Josh Bloch 36.97/11.36 * @since 1.6 36.97/11.36 * @param the type of elements held in this collection 36.97/11.36 */ 36.97/11.36 36.97/11.36 public interface Deque extends Queue { 36.97/11.36 /** 36.97/11.36 * Inserts the specified element at the front of this deque if it is 36.97/11.36 * possible to do so immediately without violating capacity restrictions. 36.97/11.36 * When using a capacity-restricted deque, it is generally preferable to 36.97/11.36 * use method {@link #offerFirst}. 36.97/11.36 * 36.97/11.36 * @param e the element to add 36.97/11.36 * @throws IllegalStateException if the element cannot be added at this 36.97/11.36 * time due to capacity restrictions 36.97/11.36 * @throws ClassCastException if the class of the specified element 36.97/11.36 * prevents it from being added to this deque 36.97/11.36 * @throws NullPointerException if the specified element is null and this 36.97/11.36 * deque does not permit null elements 36.97/11.36 * @throws IllegalArgumentException if some property of the specified 36.97/11.36 * element prevents it from being added to this deque 36.97/11.36 */ 36.97/11.36 void addFirst(E e); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Inserts the specified element at the end of this deque if it is 36.97/11.36 * possible to do so immediately without violating capacity restrictions. 36.97/11.36 * When using a capacity-restricted deque, it is generally preferable to 36.97/11.36 * use method {@link #offerLast}. 36.97/11.36 * 36.97/11.36 *

This method is equivalent to {@link #add}. 36.97/11.36 * 36.97/11.36 * @param e the element to add 36.97/11.36 * @throws IllegalStateException if the element cannot be added at this 36.97/11.36 * time due to capacity restrictions 36.97/11.36 * @throws ClassCastException if the class of the specified element 36.97/11.36 * prevents it from being added to this deque 36.97/11.36 * @throws NullPointerException if the specified element is null and this 36.97/11.36 * deque does not permit null elements 36.97/11.36 * @throws IllegalArgumentException if some property of the specified 36.97/11.36 * element prevents it from being added to this deque 36.97/11.36 */ 36.97/11.36 void addLast(E e); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Inserts the specified element at the front of this deque unless it would 36.97/11.36 * violate capacity restrictions. When using a capacity-restricted deque, 36.97/11.36 * this method is generally preferable to the {@link #addFirst} method, 36.97/11.36 * which can fail to insert an element only by throwing an exception. 36.97/11.36 * 36.97/11.36 * @param e the element to add 36.97/11.36 * @return true if the element was added to this deque, else 36.97/11.36 * false 36.97/11.36 * @throws ClassCastException if the class of the specified element 36.97/11.36 * prevents it from being added to this deque 36.97/11.36 * @throws NullPointerException if the specified element is null and this 36.97/11.36 * deque does not permit null elements 36.97/11.36 * @throws IllegalArgumentException if some property of the specified 36.97/11.36 * element prevents it from being added to this deque 36.97/11.36 */ 36.97/11.36 boolean offerFirst(E e); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Inserts the specified element at the end of this deque unless it would 36.97/11.36 * violate capacity restrictions. When using a capacity-restricted deque, 36.97/11.36 * this method is generally preferable to the {@link #addLast} method, 36.97/11.36 * which can fail to insert an element only by throwing an exception. 36.97/11.36 * 36.97/11.36 * @param e the element to add 36.97/11.36 * @return true if the element was added to this deque, else 36.97/11.36 * false 36.97/11.36 * @throws ClassCastException if the class of the specified element 36.97/11.36 * prevents it from being added to this deque 36.97/11.36 * @throws NullPointerException if the specified element is null and this 36.97/11.36 * deque does not permit null elements 36.97/11.36 * @throws IllegalArgumentException if some property of the specified 36.97/11.36 * element prevents it from being added to this deque 36.97/11.36 */ 36.97/11.36 boolean offerLast(E e); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Retrieves and removes the first element of this deque. This method 36.97/11.36 * differs from {@link #pollFirst pollFirst} only in that it throws an 36.97/11.36 * exception if this deque is empty. 36.97/11.36 * 36.97/11.36 * @return the head of this deque 36.97/11.36 * @throws NoSuchElementException if this deque is empty 36.97/11.36 */ 36.97/11.36 E removeFirst(); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Retrieves and removes the last element of this deque. This method 36.97/11.36 * differs from {@link #pollLast pollLast} only in that it throws an 36.97/11.36 * exception if this deque is empty. 36.97/11.36 * 36.97/11.36 * @return the tail of this deque 36.97/11.36 * @throws NoSuchElementException if this deque is empty 36.97/11.36 */ 36.97/11.36 E removeLast(); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Retrieves and removes the first element of this deque, 36.97/11.36 * or returns null if this deque is empty. 36.97/11.36 * 36.97/11.36 * @return the head of this deque, or null if this deque is empty 36.97/11.36 */ 36.97/11.36 E pollFirst(); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Retrieves and removes the last element of this deque, 36.97/11.36 * or returns null if this deque is empty. 36.97/11.36 * 36.97/11.36 * @return the tail of this deque, or null if this deque is empty 36.97/11.36 */ 36.97/11.36 E pollLast(); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Retrieves, but does not remove, the first element of this deque. 36.97/11.36 * 36.97/11.36 * This method differs from {@link #peekFirst peekFirst} only in that it 36.97/11.36 * throws an exception if this deque is empty. 36.97/11.36 * 36.97/11.36 * @return the head of this deque 36.97/11.36 * @throws NoSuchElementException if this deque is empty 36.97/11.36 */ 36.97/11.36 E getFirst(); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Retrieves, but does not remove, the last element of this deque. 36.97/11.36 * This method differs from {@link #peekLast peekLast} only in that it 36.97/11.36 * throws an exception if this deque is empty. 36.97/11.36 * 36.97/11.36 * @return the tail of this deque 36.97/11.36 * @throws NoSuchElementException if this deque is empty 36.97/11.36 */ 36.97/11.36 E getLast(); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Retrieves, but does not remove, the first element of this deque, 36.97/11.36 * or returns null if this deque is empty. 36.97/11.36 * 36.97/11.36 * @return the head of this deque, or null if this deque is empty 36.97/11.36 */ 36.97/11.36 E peekFirst(); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Retrieves, but does not remove, the last element of this deque, 36.97/11.36 * or returns null if this deque is empty. 36.97/11.36 * 36.97/11.36 * @return the tail of this deque, or null if this deque is empty 36.97/11.36 */ 36.97/11.36 E peekLast(); 36.97/11.36 36.97/11.36 /** 36.97/11.36 * Removes the first occurrence of the specified element from this deque. 36.97/11.36 * If the deque does not contain the element, it is unchanged. 36.97/11.36 * More formally, removes the first element e such that 36.97/11.36 * (o==null ? e==null : o.equals(e)) 36.97/11.37 * (if such an element exists). 36.97/11.37 * Returns true if this deque contained the specified element 36.97/11.37 * (or equivalently, if this deque changed as a result of the call). 36.97/11.37 * 36.97/11.37 * @param o element to be removed from this deque, if present 36.97/11.37 * @return true if an element was removed as a result of this call 36.97/11.37 * @throws ClassCastException if the class of the specified element 36.97/11.37 * is incompatible with this deque (optional) 36.97/11.37 * @throws NullPointerException if the specified element is null and this 36.97/11.37 * deque does not permit null elements (optional) 36.97/11.37 */ 36.97/11.37 boolean removeFirstOccurrence(Object o); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Removes the last occurrence of the specified element from this deque. 36.97/11.37 * If the deque does not contain the element, it is unchanged. 36.97/11.37 * More formally, removes the last element e such that 36.97/11.37 * (o==null ? e==null : o.equals(e)) 36.97/11.37 * (if such an element exists). 36.97/11.37 * Returns true if this deque contained the specified element 36.97/11.37 * (or equivalently, if this deque changed as a result of the call). 36.97/11.37 * 36.97/11.37 * @param o element to be removed from this deque, if present 36.97/11.37 * @return true if an element was removed as a result of this call 36.97/11.37 * @throws ClassCastException if the class of the specified element 36.97/11.37 * is incompatible with this deque (optional) 36.97/11.37 * @throws NullPointerException if the specified element is null and this 36.97/11.37 * deque does not permit null elements (optional) 36.97/11.37 */ 36.97/11.37 boolean removeLastOccurrence(Object o); 36.97/11.37 36.97/11.37 // *** Queue methods *** 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Inserts the specified element into the queue represented by this deque 36.97/11.37 * (in other words, at the tail of this deque) if it is possible to do so 36.97/11.37 * immediately without violating capacity restrictions, returning 36.97/11.37 * true upon success and throwing an 36.97/11.37 * IllegalStateException if no space is currently available. 36.97/11.37 * When using a capacity-restricted deque, it is generally preferable to 36.97/11.37 * use {@link #offer(Object) offer}. 36.97/11.37 * 36.97/11.37 *

This method is equivalent to {@link #addLast}. 36.97/11.37 * 36.97/11.37 * @param e the element to add 36.97/11.37 * @return true (as specified by {@link Collection#add}) 36.97/11.37 * @throws IllegalStateException if the element cannot be added at this 36.97/11.37 * time due to capacity restrictions 36.97/11.37 * @throws ClassCastException if the class of the specified element 36.97/11.37 * prevents it from being added to this deque 36.97/11.37 * @throws NullPointerException if the specified element is null and this 36.97/11.37 * deque does not permit null elements 36.97/11.37 * @throws IllegalArgumentException if some property of the specified 36.97/11.37 * element prevents it from being added to this deque 36.97/11.37 */ 36.97/11.37 boolean add(E e); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Inserts the specified element into the queue represented by this deque 36.97/11.37 * (in other words, at the tail of this deque) if it is possible to do so 36.97/11.37 * immediately without violating capacity restrictions, returning 36.97/11.37 * true upon success and false if no space is currently 36.97/11.37 * available. When using a capacity-restricted deque, this method is 36.97/11.37 * generally preferable to the {@link #add} method, which can fail to 36.97/11.37 * insert an element only by throwing an exception. 36.97/11.37 * 36.97/11.37 *

This method is equivalent to {@link #offerLast}. 36.97/11.37 * 36.97/11.37 * @param e the element to add 36.97/11.37 * @return true if the element was added to this deque, else 36.97/11.37 * false 36.97/11.37 * @throws ClassCastException if the class of the specified element 36.97/11.37 * prevents it from being added to this deque 36.97/11.37 * @throws NullPointerException if the specified element is null and this 36.97/11.37 * deque does not permit null elements 36.97/11.37 * @throws IllegalArgumentException if some property of the specified 36.97/11.37 * element prevents it from being added to this deque 36.97/11.37 */ 36.97/11.37 boolean offer(E e); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Retrieves and removes the head of the queue represented by this deque 36.97/11.37 * (in other words, the first element of this deque). 36.97/11.37 * This method differs from {@link #poll poll} only in that it throws an 36.97/11.37 * exception if this deque is empty. 36.97/11.37 * 36.97/11.37 *

This method is equivalent to {@link #removeFirst()}. 36.97/11.37 * 36.97/11.37 * @return the head of the queue represented by this deque 36.97/11.37 * @throws NoSuchElementException if this deque is empty 36.97/11.37 */ 36.97/11.37 E remove(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Retrieves and removes the head of the queue represented by this deque 36.97/11.37 * (in other words, the first element of this deque), or returns 36.97/11.37 * null if this deque is empty. 36.97/11.37 * 36.97/11.37 *

This method is equivalent to {@link #pollFirst()}. 36.97/11.37 * 36.97/11.37 * @return the first element of this deque, or null if 36.97/11.37 * this deque is empty 36.97/11.37 */ 36.97/11.37 E poll(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Retrieves, but does not remove, the head of the queue represented by 36.97/11.37 * this deque (in other words, the first element of this deque). 36.97/11.37 * This method differs from {@link #peek peek} only in that it throws an 36.97/11.37 * exception if this deque is empty. 36.97/11.37 * 36.97/11.37 *

This method is equivalent to {@link #getFirst()}. 36.97/11.37 * 36.97/11.37 * @return the head of the queue represented by this deque 36.97/11.37 * @throws NoSuchElementException if this deque is empty 36.97/11.37 */ 36.97/11.37 E element(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Retrieves, but does not remove, the head of the queue represented by 36.97/11.37 * this deque (in other words, the first element of this deque), or 36.97/11.37 * returns null if this deque is empty. 36.97/11.37 * 36.97/11.37 *

This method is equivalent to {@link #peekFirst()}. 36.97/11.37 * 36.97/11.37 * @return the head of the queue represented by this deque, or 36.97/11.37 * null if this deque is empty 36.97/11.37 */ 36.97/11.37 E peek(); 36.97/11.37 36.97/11.37 36.97/11.37 // *** Stack methods *** 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Pushes an element onto the stack represented by this deque (in other 36.97/11.37 * words, at the head of this deque) if it is possible to do so 36.97/11.37 * immediately without violating capacity restrictions, returning 36.97/11.37 * true upon success and throwing an 36.97/11.37 * IllegalStateException if no space is currently available. 36.97/11.37 * 36.97/11.37 *

This method is equivalent to {@link #addFirst}. 36.97/11.37 * 36.97/11.37 * @param e the element to push 36.97/11.37 * @throws IllegalStateException if the element cannot be added at this 36.97/11.37 * time due to capacity restrictions 36.97/11.37 * @throws ClassCastException if the class of the specified element 36.97/11.37 * prevents it from being added to this deque 36.97/11.37 * @throws NullPointerException if the specified element is null and this 36.97/11.37 * deque does not permit null elements 36.97/11.37 * @throws IllegalArgumentException if some property of the specified 36.97/11.37 * element prevents it from being added to this deque 36.97/11.37 */ 36.97/11.37 void push(E e); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Pops an element from the stack represented by this deque. In other 36.97/11.37 * words, removes and returns the first element of this deque. 36.97/11.37 * 36.97/11.37 *

This method is equivalent to {@link #removeFirst()}. 36.97/11.37 * 36.97/11.37 * @return the element at the front of this deque (which is the top 36.97/11.37 * of the stack represented by this deque) 36.97/11.37 * @throws NoSuchElementException if this deque is empty 36.97/11.37 */ 36.97/11.37 E pop(); 36.97/11.37 36.97/11.37 36.97/11.37 // *** Collection methods *** 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Removes the first occurrence of the specified element from this deque. 36.97/11.37 * If the deque does not contain the element, it is unchanged. 36.97/11.37 * More formally, removes the first element e such that 36.97/11.37 * (o==null ? e==null : o.equals(e)) 36.97/11.37 * (if such an element exists). 36.97/11.37 * Returns true if this deque contained the specified element 36.97/11.37 * (or equivalently, if this deque changed as a result of the call). 36.97/11.37 * 36.97/11.37 *

This method is equivalent to {@link #removeFirstOccurrence}. 36.97/11.37 * 36.97/11.37 * @param o element to be removed from this deque, if present 36.97/11.37 * @return true if an element was removed as a result of this call 36.97/11.37 * @throws ClassCastException if the class of the specified element 36.97/11.37 * is incompatible with this deque (optional) 36.97/11.37 * @throws NullPointerException if the specified element is null and this 36.97/11.37 * deque does not permit null elements (optional) 36.97/11.37 */ 36.97/11.37 boolean remove(Object o); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns true if this deque contains the specified element. 36.97/11.37 * More formally, returns true if and only if this deque contains 36.97/11.37 * at least one element e such that 36.97/11.37 * (o==null ? e==null : o.equals(e)). 36.97/11.37 * 36.97/11.37 * @param o element whose presence in this deque is to be tested 36.97/11.37 * @return true if this deque contains the specified element 36.97/11.37 * @throws ClassCastException if the type of the specified element 36.97/11.37 * is incompatible with this deque (optional) 36.97/11.37 * @throws NullPointerException if the specified element is null and this 36.97/11.37 * deque does not permit null elements (optional) 36.97/11.37 */ 36.97/11.37 boolean contains(Object o); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the number of elements in this deque. 36.97/11.37 * 36.97/11.37 * @return the number of elements in this deque 36.97/11.37 */ 36.97/11.37 public int size(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns an iterator over the elements in this deque in proper sequence. 36.97/11.37 * The elements will be returned in order from first (head) to last (tail). 36.97/11.37 * 36.97/11.37 * @return an iterator over the elements in this deque in proper sequence 36.97/11.37 */ 36.97/11.37 Iterator iterator(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns an iterator over the elements in this deque in reverse 36.97/11.37 * sequential order. The elements will be returned in order from 36.97/11.37 * last (tail) to first (head). 36.97/11.37 * 36.97/11.37 * @return an iterator over the elements in this deque in reverse 36.97/11.37 * sequence 36.97/11.37 */ 36.97/11.37 Iterator descendingIterator(); 36.97/11.37 36.97/11.37 } 36.97/11.37 36.97/11.37 36.97/11.37 /* 36.97/11.37 * Copyright 1994-2003 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.37 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.37 * 36.97/11.37 * This code is free software; you can redistribute it and/or modify it 36.97/11.37 * under the terms of the GNU General Public License version 2 only, as 36.97/11.37 * published by the Free Software Foundation. Sun designates this 36.97/11.37 * particular file as subject to the "Classpath" exception as provided 36.97/11.37 * by Sun in the LICENSE file that accompanied this code. 36.97/11.37 * 36.97/11.37 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.37 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.37 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.37 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.37 * accompanied this code). 36.97/11.37 * 36.97/11.37 * You should have received a copy of the GNU General Public License version 36.97/11.37 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.37 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.37 * 36.97/11.37 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.37 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.37 * have any questions. 36.97/11.37 */ 36.97/11.37 36.97/11.37 package javaUtilEx; 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Thrown to indicate that a method has been passed an illegal or 36.97/11.37 * inappropriate argument. 36.97/11.37 * 36.97/11.37 * @author unascribed 36.97/11.37 * @see java.lang.Thread#setPriority(int) 36.97/11.37 * @since JDK1.0 36.97/11.37 */ 36.97/11.37 public 36.97/11.37 class IllegalArgumentException extends RuntimeException { 36.97/11.37 /** 36.97/11.37 * Constructs an IllegalArgumentException with no 36.97/11.37 * detail message. 36.97/11.37 */ 36.97/11.37 public IllegalArgumentException() { 36.97/11.37 super(); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Constructs an IllegalArgumentException with the 36.97/11.37 * specified detail message. 36.97/11.37 * 36.97/11.37 * @param s the detail message. 36.97/11.37 */ 36.97/11.37 public IllegalArgumentException(String s) { 36.97/11.37 super(s); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Constructs a new exception with the specified detail message and 36.97/11.37 * cause. 36.97/11.37 * 36.97/11.37 *

Note that the detail message associated with cause is 36.97/11.37 * not automatically incorporated in this exception's detail 36.97/11.37 * message. 36.97/11.37 * 36.97/11.37 * @param message the detail message (which is saved for later retrieval 36.97/11.37 * by the {@link Throwable#getMessage()} method). 36.97/11.37 * @param cause the cause (which is saved for later retrieval by the 36.97/11.37 * {@link Throwable#getCause()} method). (A null value 36.97/11.37 * is permitted, and indicates that the cause is nonexistent or 36.97/11.37 * unknown.) 36.97/11.37 * @since 1.5 36.97/11.37 */ 36.97/11.37 public IllegalArgumentException(String message, Throwable cause) { 36.97/11.37 super(message, cause); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Constructs a new exception with the specified cause and a detail 36.97/11.37 * message of (cause==null ? null : cause.toString()) (which 36.97/11.37 * typically contains the class and detail message of cause). 36.97/11.37 * This constructor is useful for exceptions that are little more than 36.97/11.37 * wrappers for other throwables (for example, {@link 36.97/11.37 * java.security.PrivilegedActionException}). 36.97/11.37 * 36.97/11.37 * @param cause the cause (which is saved for later retrieval by the 36.97/11.37 * {@link Throwable#getCause()} method). (A null value is 36.97/11.37 * permitted, and indicates that the cause is nonexistent or 36.97/11.37 * unknown.) 36.97/11.37 * @since 1.5 36.97/11.37 */ 36.97/11.37 public IllegalArgumentException(Throwable cause) { 36.97/11.37 super(cause); 36.97/11.37 } 36.97/11.37 36.97/11.37 private static final long serialVersionUID = -5365630128856068164L; 36.97/11.37 } 36.97/11.37 36.97/11.37 36.97/11.37 /* 36.97/11.37 * Copyright 1996-2003 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.37 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.37 * 36.97/11.37 * This code is free software; you can redistribute it and/or modify it 36.97/11.37 * under the terms of the GNU General Public License version 2 only, as 36.97/11.37 * published by the Free Software Foundation. Sun designates this 36.97/11.37 * particular file as subject to the "Classpath" exception as provided 36.97/11.37 * by Sun in the LICENSE file that accompanied this code. 36.97/11.37 * 36.97/11.37 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.37 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.37 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.37 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.37 * accompanied this code). 36.97/11.37 * 36.97/11.37 * You should have received a copy of the GNU General Public License version 36.97/11.37 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.37 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.37 * 36.97/11.37 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.37 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.37 * have any questions. 36.97/11.37 */ 36.97/11.37 36.97/11.37 package javaUtilEx; 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Signals that a method has been invoked at an illegal or 36.97/11.37 * inappropriate time. In other words, the Java environment or 36.97/11.37 * Java application is not in an appropriate state for the requested 36.97/11.37 * operation. 36.97/11.37 * 36.97/11.37 * @author Jonni Kanerva 36.97/11.37 * @since JDK1.1 36.97/11.37 */ 36.97/11.37 public 36.97/11.37 class IllegalStateException extends RuntimeException { 36.97/11.37 /** 36.97/11.37 * Constructs an IllegalStateException with no detail message. 36.97/11.37 * A detail message is a String that describes this particular exception. 36.97/11.37 */ 36.97/11.37 public IllegalStateException() { 36.97/11.37 super(); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Constructs an IllegalStateException with the specified detail 36.97/11.37 * message. A detail message is a String that describes this particular 36.97/11.37 * exception. 36.97/11.37 * 36.97/11.37 * @param s the String that contains a detailed message 36.97/11.37 */ 36.97/11.37 public IllegalStateException(String s) { 36.97/11.37 super(s); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Constructs a new exception with the specified detail message and 36.97/11.37 * cause. 36.97/11.37 * 36.97/11.37 *

Note that the detail message associated with cause is 36.97/11.37 * not automatically incorporated in this exception's detail 36.97/11.37 * message. 36.97/11.37 * 36.97/11.37 * @param message the detail message (which is saved for later retrieval 36.97/11.37 * by the {@link Throwable#getMessage()} method). 36.97/11.37 * @param cause the cause (which is saved for later retrieval by the 36.97/11.37 * {@link Throwable#getCause()} method). (A null value 36.97/11.37 * is permitted, and indicates that the cause is nonexistent or 36.97/11.37 * unknown.) 36.97/11.37 * @since 1.5 36.97/11.37 */ 36.97/11.37 public IllegalStateException(String message, Throwable cause) { 36.97/11.37 super(message, cause); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Constructs a new exception with the specified cause and a detail 36.97/11.37 * message of (cause==null ? null : cause.toString()) (which 36.97/11.37 * typically contains the class and detail message of cause). 36.97/11.37 * This constructor is useful for exceptions that are little more than 36.97/11.37 * wrappers for other throwables (for example, {@link 36.97/11.37 * java.security.PrivilegedActionException}). 36.97/11.37 * 36.97/11.37 * @param cause the cause (which is saved for later retrieval by the 36.97/11.37 * {@link Throwable#getCause()} method). (A null value is 36.97/11.37 * permitted, and indicates that the cause is nonexistent or 36.97/11.37 * unknown.) 36.97/11.37 * @since 1.5 36.97/11.37 */ 36.97/11.37 public IllegalStateException(Throwable cause) { 36.97/11.37 super(cause); 36.97/11.37 } 36.97/11.37 36.97/11.37 static final long serialVersionUID = -1848914673093119416L; 36.97/11.37 } 36.97/11.37 36.97/11.37 36.97/11.37 /* 36.97/11.37 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.37 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.37 * 36.97/11.37 * This code is free software; you can redistribute it and/or modify it 36.97/11.37 * under the terms of the GNU General Public License version 2 only, as 36.97/11.37 * published by the Free Software Foundation. Sun designates this 36.97/11.37 * particular file as subject to the "Classpath" exception as provided 36.97/11.37 * by Sun in the LICENSE file that accompanied this code. 36.97/11.37 * 36.97/11.37 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.37 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.37 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.37 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.37 * accompanied this code). 36.97/11.37 * 36.97/11.37 * You should have received a copy of the GNU General Public License version 36.97/11.37 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.37 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.37 * 36.97/11.37 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.37 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.37 * have any questions. 36.97/11.37 */ 36.97/11.37 36.97/11.37 package javaUtilEx; 36.97/11.37 36.97/11.37 /** 36.97/11.37 * An iterator over a collection. {@code Iterator} takes the place of 36.97/11.37 * {@link Enumeration} in the Java Collections Framework. Iterators 36.97/11.37 * differ from enumerations in two ways: 36.97/11.37 * 36.97/11.37 *

36.97/11.37 * 36.97/11.37 *

This interface is a member of the 36.97/11.37 * 36.97/11.37 * Java Collections Framework. 36.97/11.37 * 36.97/11.37 * @author Josh Bloch 36.97/11.37 * @see Collection 36.97/11.37 * @see ListIterator 36.97/11.37 * @see Iterable 36.97/11.37 * @since 1.2 36.97/11.37 */ 36.97/11.37 public interface Iterator { 36.97/11.37 /** 36.97/11.37 * Returns {@code true} if the iteration has more elements. 36.97/11.37 * (In other words, returns {@code true} if {@link #next} would 36.97/11.37 * return an element rather than throwing an exception.) 36.97/11.37 * 36.97/11.37 * @return {@code true} if the iteration has more elements 36.97/11.37 */ 36.97/11.37 boolean hasNext(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the next element in the iteration. 36.97/11.37 * 36.97/11.37 * @return the next element in the iteration 36.97/11.37 * @throws NoSuchElementException if the iteration has no more elements 36.97/11.37 */ 36.97/11.37 E next(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Removes from the underlying collection the last element returned 36.97/11.37 * by this iterator (optional operation). This method can be called 36.97/11.37 * only once per call to {@link #next}. The behavior of an iterator 36.97/11.37 * is unspecified if the underlying collection is modified while the 36.97/11.37 * iteration is in progress in any way other than by calling this 36.97/11.37 * method. 36.97/11.37 * 36.97/11.37 * @throws UnsupportedOperationException if the {@code remove} 36.97/11.37 * operation is not supported by this iterator 36.97/11.37 * 36.97/11.37 * @throws IllegalStateException if the {@code next} method has not 36.97/11.37 * yet been called, or the {@code remove} method has already 36.97/11.37 * been called after the last call to the {@code next} 36.97/11.37 * method 36.97/11.37 */ 36.97/11.37 void remove(); 36.97/11.37 } 36.97/11.37 36.97/11.37 36.97/11.37 package javaUtilEx; 36.97/11.37 36.97/11.37 public class juLinkedListCreateContains { 36.97/11.37 public static void main(String[] args) { 36.97/11.37 Random.args = args; 36.97/11.37 36.97/11.37 LinkedList l = createList(Random.random()); 36.97/11.37 Content c = new Content(Random.random()); 36.97/11.37 if (Random.random() < 42) { 36.97/11.37 c = l.get(Random.random()); 36.97/11.37 } 36.97/11.37 l.contains(c); 36.97/11.37 } 36.97/11.37 36.97/11.37 public static LinkedList createList(int n) { 36.97/11.37 LinkedList l = new LinkedList(); 36.97/11.37 while (n > 0) { 36.97/11.37 l.addLast(new Content(Random.random())); 36.97/11.37 n--; 36.97/11.37 } 36.97/11.37 return l; 36.97/11.37 } 36.97/11.37 } 36.97/11.37 36.97/11.37 final class Content { 36.97/11.37 int val; 36.97/11.37 36.97/11.37 public Content(int v) { 36.97/11.37 this.val = v; 36.97/11.37 } 36.97/11.37 36.97/11.37 public int hashCode() { 36.97/11.37 return val^31; 36.97/11.37 } 36.97/11.37 36.97/11.37 public boolean equals(Object o) { 36.97/11.37 if (o instanceof Content) { 36.97/11.37 return this.val == ((Content) o).val; 36.97/11.37 } 36.97/11.37 return false; 36.97/11.37 } 36.97/11.37 } 36.97/11.37 36.97/11.37 36.97/11.37 /* 36.97/11.37 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.37 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.37 * 36.97/11.37 * This code is free software; you can redistribute it and/or modify it 36.97/11.37 * under the terms of the GNU General Public License version 2 only, as 36.97/11.37 * published by the Free Software Foundation. Sun designates this 36.97/11.37 * particular file as subject to the "Classpath" exception as provided 36.97/11.37 * by Sun in the LICENSE file that accompanied this code. 36.97/11.37 * 36.97/11.37 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.37 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.37 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.37 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.37 * accompanied this code). 36.97/11.37 * 36.97/11.37 * You should have received a copy of the GNU General Public License version 36.97/11.37 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.37 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.37 * 36.97/11.37 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.37 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.37 * have any questions. 36.97/11.37 */ 36.97/11.37 36.97/11.37 package javaUtilEx; 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Linked list implementation of the List interface. Implements all 36.97/11.37 * optional list operations, and permits all elements (including 36.97/11.37 * null). In addition to implementing the List interface, 36.97/11.37 * the LinkedList class provides uniformly named methods to 36.97/11.37 * get, remove and insert an element at the 36.97/11.37 * beginning and end of the list. These operations allow linked lists to be 36.97/11.37 * used as a stack, {@linkplain Queue queue}, or {@linkplain Deque 36.97/11.37 * double-ended queue}.

36.97/11.37 * 36.97/11.37 * The class implements the Deque interface, providing 36.97/11.37 * first-in-first-out queue operations for add, 36.97/11.37 * poll, along with other stack and deque operations.

36.97/11.37 * 36.97/11.37 * All of the operations perform as could be expected for a doubly-linked 36.97/11.37 * list. Operations that index into the list will traverse the list from 36.97/11.37 * the beginning or the end, whichever is closer to the specified index.

36.97/11.37 * 36.97/11.37 *

Note that this implementation is not synchronized. 36.97/11.37 * If multiple threads access a linked list concurrently, and at least 36.97/11.37 * one of the threads modifies the list structurally, it must be 36.97/11.37 * synchronized externally. (A structural modification is any operation 36.97/11.37 * that adds or deletes one or more elements; merely setting the value of 36.97/11.37 * an element is not a structural modification.) This is typically 36.97/11.37 * accomplished by synchronizing on some object that naturally 36.97/11.37 * encapsulates the list. 36.97/11.37 * 36.97/11.37 * If no such object exists, the list should be "wrapped" using the 36.97/11.37 * {@link Collections#synchronizedList Collections.synchronizedList} 36.97/11.37 * method. This is best done at creation time, to prevent accidental 36.97/11.37 * unsynchronized access to the list:

36.97/11.37	 *   List list = Collections.synchronizedList(new LinkedList(...));
36.97/11.37 * 36.97/11.37 *

The iterators returned by this class's iterator and 36.97/11.37 * listIterator methods are fail-fast: if the list is 36.97/11.37 * structurally modified at any time after the iterator is created, in 36.97/11.37 * any way except through the Iterator's own remove or 36.97/11.37 * add methods, the iterator will throw a {@link 36.97/11.37 * ConcurrentModificationException}. Thus, in the face of concurrent 36.97/11.37 * modification, the iterator fails quickly and cleanly, rather than 36.97/11.37 * risking arbitrary, non-deterministic behavior at an undetermined 36.97/11.37 * time in the future. 36.97/11.37 * 36.97/11.37 *

Note that the fail-fast behavior of an iterator cannot be guaranteed 36.97/11.37 * as it is, generally speaking, impossible to make any hard guarantees in the 36.97/11.37 * presence of unsynchronized concurrent modification. Fail-fast iterators 36.97/11.37 * throw ConcurrentModificationException on a best-effort basis. 36.97/11.37 * Therefore, it would be wrong to write a program that depended on this 36.97/11.37 * exception for its correctness: the fail-fast behavior of iterators 36.97/11.37 * should be used only to detect bugs. 36.97/11.37 * 36.97/11.37 *

This class is a member of the 36.97/11.37 * 36.97/11.37 * Java Collections Framework. 36.97/11.37 * 36.97/11.37 * @author Josh Bloch 36.97/11.37 * @see List 36.97/11.37 * @see ArrayList 36.97/11.37 * @see Vector 36.97/11.37 * @since 1.2 36.97/11.37 * @param the type of elements held in this collection 36.97/11.37 */ 36.97/11.37 36.97/11.37 public class LinkedList 36.97/11.37 extends AbstractSequentialList 36.97/11.37 implements List, Deque 36.97/11.37 { 36.97/11.37 private transient Entry header = new Entry(null, null, null); 36.97/11.37 private transient int size = 0; 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Constructs an empty list. 36.97/11.37 */ 36.97/11.37 public LinkedList() { 36.97/11.37 header.next = header.previous = header; 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Constructs a list containing the elements of the specified 36.97/11.37 * collection, in the order they are returned by the collection's 36.97/11.37 * iterator. 36.97/11.37 * 36.97/11.37 * @param c the collection whose elements are to be placed into this list 36.97/11.37 * @throws NullPointerException if the specified collection is null 36.97/11.37 */ 36.97/11.37 public LinkedList(Collection c) { 36.97/11.37 this(); 36.97/11.37 addAll(c); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the first element in this list. 36.97/11.37 * 36.97/11.37 * @return the first element in this list 36.97/11.37 * @throws NoSuchElementException if this list is empty 36.97/11.37 */ 36.97/11.37 public E getFirst() { 36.97/11.37 if (size==0) 36.97/11.37 throw new NoSuchElementException(); 36.97/11.37 36.97/11.37 return header.next.element; 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the last element in this list. 36.97/11.37 * 36.97/11.37 * @return the last element in this list 36.97/11.37 * @throws NoSuchElementException if this list is empty 36.97/11.37 */ 36.97/11.37 public E getLast() { 36.97/11.37 if (size==0) 36.97/11.37 throw new NoSuchElementException(); 36.97/11.37 36.97/11.37 return header.previous.element; 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Removes and returns the first element from this list. 36.97/11.37 * 36.97/11.37 * @return the first element from this list 36.97/11.37 * @throws NoSuchElementException if this list is empty 36.97/11.37 */ 36.97/11.37 public E removeFirst() { 36.97/11.37 return remove(header.next); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Removes and returns the last element from this list. 36.97/11.37 * 36.97/11.37 * @return the last element from this list 36.97/11.37 * @throws NoSuchElementException if this list is empty 36.97/11.37 */ 36.97/11.37 public E removeLast() { 36.97/11.37 return remove(header.previous); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Inserts the specified element at the beginning of this list. 36.97/11.37 * 36.97/11.37 * @param e the element to add 36.97/11.37 */ 36.97/11.37 public void addFirst(E e) { 36.97/11.37 addBefore(e, header.next); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Appends the specified element to the end of this list. 36.97/11.37 * 36.97/11.37 *

This method is equivalent to {@link #add}. 36.97/11.37 * 36.97/11.37 * @param e the element to add 36.97/11.37 */ 36.97/11.37 public void addLast(E e) { 36.97/11.37 addBefore(e, header); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns true if this list contains the specified element. 36.97/11.37 * More formally, returns true if and only if this list contains 36.97/11.37 * at least one element e such that 36.97/11.37 * (o==null ? e==null : o.equals(e)). 36.97/11.37 * 36.97/11.37 * @param o element whose presence in this list is to be tested 36.97/11.37 * @return true if this list contains the specified element 36.97/11.37 */ 36.97/11.37 public boolean contains(Object o) { 36.97/11.37 return indexOf(o) != -1; 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the number of elements in this list. 36.97/11.37 * 36.97/11.37 * @return the number of elements in this list 36.97/11.37 */ 36.97/11.37 public int size() { 36.97/11.37 return size; 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Appends the specified element to the end of this list. 36.97/11.37 * 36.97/11.37 *

This method is equivalent to {@link #addLast}. 36.97/11.37 * 36.97/11.37 * @param e element to be appended to this list 36.97/11.37 * @return true (as specified by {@link Collection#add}) 36.97/11.37 */ 36.97/11.37 public boolean add(E e) { 36.97/11.37 addBefore(e, header); 36.97/11.37 return true; 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Removes the first occurrence of the specified element from this list, 36.97/11.37 * if it is present. If this list does not contain the element, it is 36.97/11.37 * unchanged. More formally, removes the element with the lowest index 36.97/11.37 * i such that 36.97/11.37 * (o==null ? get(i)==null : o.equals(get(i))) 36.97/11.37 * (if such an element exists). Returns true if this list 36.97/11.37 * contained the specified element (or equivalently, if this list 36.97/11.37 * changed as a result of the call). 36.97/11.37 * 36.97/11.37 * @param o element to be removed from this list, if present 36.97/11.37 * @return true if this list contained the specified element 36.97/11.37 */ 36.97/11.37 public boolean remove(Object o) { 36.97/11.37 if (o==null) { 36.97/11.37 for (Entry e = header.next; e != header; e = e.next) { 36.97/11.37 if (e.element==null) { 36.97/11.37 remove(e); 36.97/11.37 return true; 36.97/11.37 } 36.97/11.37 } 36.97/11.37 } else { 36.97/11.37 for (Entry e = header.next; e != header; e = e.next) { 36.97/11.37 if (o.equals(e.element)) { 36.97/11.37 remove(e); 36.97/11.37 return true; 36.97/11.37 } 36.97/11.37 } 36.97/11.37 } 36.97/11.37 return false; 36.97/11.37 } 36.97/11.37 /** 36.97/11.37 * Removes all of the elements from this list. 36.97/11.37 */ 36.97/11.37 public void clear() { 36.97/11.37 Entry e = header.next; 36.97/11.37 while (e != header) { 36.97/11.37 Entry next = e.next; 36.97/11.37 e.next = e.previous = null; 36.97/11.37 e.element = null; 36.97/11.37 e = next; 36.97/11.37 } 36.97/11.37 header.next = header.previous = header; 36.97/11.37 size = 0; 36.97/11.37 modCount++; 36.97/11.37 } 36.97/11.37 36.97/11.37 36.97/11.37 // Positional Access Operations 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the element at the specified position in this list. 36.97/11.37 * 36.97/11.37 * @param index index of the element to return 36.97/11.37 * @return the element at the specified position in this list 36.97/11.37 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.37 */ 36.97/11.37 public E get(int index) { 36.97/11.37 return entry(index).element; 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Replaces the element at the specified position in this list with the 36.97/11.37 * specified element. 36.97/11.37 * 36.97/11.37 * @param index index of the element to replace 36.97/11.37 * @param element element to be stored at the specified position 36.97/11.37 * @return the element previously at the specified position 36.97/11.37 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.37 */ 36.97/11.37 public E set(int index, E element) { 36.97/11.37 Entry e = entry(index); 36.97/11.37 E oldVal = e.element; 36.97/11.37 e.element = element; 36.97/11.37 return oldVal; 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Inserts the specified element at the specified position in this list. 36.97/11.37 * Shifts the element currently at that position (if any) and any 36.97/11.37 * subsequent elements to the right (adds one to their indices). 36.97/11.37 * 36.97/11.37 * @param index index at which the specified element is to be inserted 36.97/11.37 * @param element element to be inserted 36.97/11.37 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.37 */ 36.97/11.37 public void add(int index, E element) { 36.97/11.37 addBefore(element, (index==size ? header : entry(index))); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Removes the element at the specified position in this list. Shifts any 36.97/11.37 * subsequent elements to the left (subtracts one from their indices). 36.97/11.37 * Returns the element that was removed from the list. 36.97/11.37 * 36.97/11.37 * @param index the index of the element to be removed 36.97/11.37 * @return the element previously at the specified position 36.97/11.37 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.37 */ 36.97/11.37 public E remove(int index) { 36.97/11.37 return remove(entry(index)); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the indexed entry. 36.97/11.37 */ 36.97/11.37 private Entry entry(int index) { 36.97/11.37 if (index < 0 || index >= size) 36.97/11.37 throw new IndexOutOfBoundsException(); 36.97/11.37 Entry e = header; 36.97/11.37 if (index < (size >> 1)) { 36.97/11.37 for (int i = 0; i <= index; i++) 36.97/11.37 e = e.next; 36.97/11.37 } else { 36.97/11.37 for (int i = size; i > index; i--) 36.97/11.37 e = e.previous; 36.97/11.37 } 36.97/11.37 return e; 36.97/11.37 } 36.97/11.37 36.97/11.37 36.97/11.37 // Search Operations 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the index of the first occurrence of the specified element 36.97/11.37 * in this list, or -1 if this list does not contain the element. 36.97/11.37 * More formally, returns the lowest index i such that 36.97/11.37 * (o==null ? get(i)==null : o.equals(get(i))), 36.97/11.37 * or -1 if there is no such index. 36.97/11.37 * 36.97/11.37 * @param o element to search for 36.97/11.37 * @return the index of the first occurrence of the specified element in 36.97/11.37 * this list, or -1 if this list does not contain the element 36.97/11.37 */ 36.97/11.37 public int indexOf(Object o) { 36.97/11.37 int index = 0; 36.97/11.37 if (o==null) { 36.97/11.37 for (Entry e = header.next; e != header; e = e.next) { 36.97/11.37 if (e.element==null) 36.97/11.37 return index; 36.97/11.37 index++; 36.97/11.37 } 36.97/11.37 } else { 36.97/11.37 for (Entry e = header.next; e != header; e = e.next) { 36.97/11.37 if (o.equals(e.element)) 36.97/11.37 return index; 36.97/11.37 index++; 36.97/11.37 } 36.97/11.37 } 36.97/11.37 return -1; 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the index of the last occurrence of the specified element 36.97/11.37 * in this list, or -1 if this list does not contain the element. 36.97/11.37 * More formally, returns the highest index i such that 36.97/11.37 * (o==null ? get(i)==null : o.equals(get(i))), 36.97/11.37 * or -1 if there is no such index. 36.97/11.37 * 36.97/11.37 * @param o element to search for 36.97/11.37 * @return the index of the last occurrence of the specified element in 36.97/11.37 * this list, or -1 if this list does not contain the element 36.97/11.37 */ 36.97/11.37 public int lastIndexOf(Object o) { 36.97/11.37 int index = size; 36.97/11.37 if (o==null) { 36.97/11.37 for (Entry e = header.previous; e != header; e = e.previous) { 36.97/11.37 index--; 36.97/11.37 if (e.element==null) 36.97/11.37 return index; 36.97/11.37 } 36.97/11.37 } else { 36.97/11.37 for (Entry e = header.previous; e != header; e = e.previous) { 36.97/11.37 index--; 36.97/11.37 if (o.equals(e.element)) 36.97/11.37 return index; 36.97/11.37 } 36.97/11.37 } 36.97/11.37 return -1; 36.97/11.37 } 36.97/11.37 36.97/11.37 // Queue operations. 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Retrieves, but does not remove, the head (first element) of this list. 36.97/11.37 * @return the head of this list, or null if this list is empty 36.97/11.37 * @since 1.5 36.97/11.37 */ 36.97/11.37 public E peek() { 36.97/11.37 if (size==0) 36.97/11.37 return null; 36.97/11.37 return getFirst(); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Retrieves, but does not remove, the head (first element) of this list. 36.97/11.37 * @return the head of this list 36.97/11.37 * @throws NoSuchElementException if this list is empty 36.97/11.37 * @since 1.5 36.97/11.37 */ 36.97/11.37 public E element() { 36.97/11.37 return getFirst(); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Retrieves and removes the head (first element) of this list 36.97/11.37 * @return the head of this list, or null if this list is empty 36.97/11.37 * @since 1.5 36.97/11.37 */ 36.97/11.37 public E poll() { 36.97/11.37 if (size==0) 36.97/11.37 return null; 36.97/11.37 return removeFirst(); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Retrieves and removes the head (first element) of this list. 36.97/11.37 * 36.97/11.37 * @return the head of this list 36.97/11.37 * @throws NoSuchElementException if this list is empty 36.97/11.37 * @since 1.5 36.97/11.37 */ 36.97/11.37 public E remove() { 36.97/11.37 return removeFirst(); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Adds the specified element as the tail (last element) of this list. 36.97/11.37 * 36.97/11.37 * @param e the element to add 36.97/11.37 * @return true (as specified by {@link Queue#offer}) 36.97/11.37 * @since 1.5 36.97/11.37 */ 36.97/11.37 public boolean offer(E e) { 36.97/11.37 return add(e); 36.97/11.37 } 36.97/11.37 36.97/11.37 // Deque operations 36.97/11.37 /** 36.97/11.37 * Inserts the specified element at the front of this list. 36.97/11.37 * 36.97/11.37 * @param e the element to insert 36.97/11.37 * @return true (as specified by {@link Deque#offerFirst}) 36.97/11.37 * @since 1.6 36.97/11.37 */ 36.97/11.37 public boolean offerFirst(E e) { 36.97/11.37 addFirst(e); 36.97/11.37 return true; 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Inserts the specified element at the end of this list. 36.97/11.37 * 36.97/11.37 * @param e the element to insert 36.97/11.37 * @return true (as specified by {@link Deque#offerLast}) 36.97/11.37 * @since 1.6 36.97/11.37 */ 36.97/11.37 public boolean offerLast(E e) { 36.97/11.37 addLast(e); 36.97/11.37 return true; 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Retrieves, but does not remove, the first element of this list, 36.97/11.37 * or returns null if this list is empty. 36.97/11.37 * 36.97/11.37 * @return the first element of this list, or null 36.97/11.37 * if this list is empty 36.97/11.37 * @since 1.6 36.97/11.37 */ 36.97/11.37 public E peekFirst() { 36.97/11.37 if (size==0) 36.97/11.37 return null; 36.97/11.37 return getFirst(); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Retrieves, but does not remove, the last element of this list, 36.97/11.37 * or returns null if this list is empty. 36.97/11.37 * 36.97/11.37 * @return the last element of this list, or null 36.97/11.37 * if this list is empty 36.97/11.37 * @since 1.6 36.97/11.37 */ 36.97/11.37 public E peekLast() { 36.97/11.37 if (size==0) 36.97/11.37 return null; 36.97/11.37 return getLast(); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Retrieves and removes the first element of this list, 36.97/11.37 * or returns null if this list is empty. 36.97/11.37 * 36.97/11.37 * @return the first element of this list, or null if 36.97/11.37 * this list is empty 36.97/11.37 * @since 1.6 36.97/11.37 */ 36.97/11.37 public E pollFirst() { 36.97/11.37 if (size==0) 36.97/11.37 return null; 36.97/11.37 return removeFirst(); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Retrieves and removes the last element of this list, 36.97/11.37 * or returns null if this list is empty. 36.97/11.37 * 36.97/11.37 * @return the last element of this list, or null if 36.97/11.37 * this list is empty 36.97/11.37 * @since 1.6 36.97/11.37 */ 36.97/11.37 public E pollLast() { 36.97/11.37 if (size==0) 36.97/11.37 return null; 36.97/11.37 return removeLast(); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Pushes an element onto the stack represented by this list. In other 36.97/11.37 * words, inserts the element at the front of this list. 36.97/11.37 * 36.97/11.37 *

This method is equivalent to {@link #addFirst}. 36.97/11.37 * 36.97/11.37 * @param e the element to push 36.97/11.37 * @since 1.6 36.97/11.37 */ 36.97/11.37 public void push(E e) { 36.97/11.37 addFirst(e); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Pops an element from the stack represented by this list. In other 36.97/11.37 * words, removes and returns the first element of this list. 36.97/11.37 * 36.97/11.37 *

This method is equivalent to {@link #removeFirst()}. 36.97/11.37 * 36.97/11.37 * @return the element at the front of this list (which is the top 36.97/11.37 * of the stack represented by this list) 36.97/11.37 * @throws NoSuchElementException if this list is empty 36.97/11.37 * @since 1.6 36.97/11.37 */ 36.97/11.37 public E pop() { 36.97/11.37 return removeFirst(); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Removes the first occurrence of the specified element in this 36.97/11.37 * list (when traversing the list from head to tail). If the list 36.97/11.37 * does not contain the element, it is unchanged. 36.97/11.37 * 36.97/11.37 * @param o element to be removed from this list, if present 36.97/11.37 * @return true if the list contained the specified element 36.97/11.37 * @since 1.6 36.97/11.37 */ 36.97/11.37 public boolean removeFirstOccurrence(Object o) { 36.97/11.37 return remove(o); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Removes the last occurrence of the specified element in this 36.97/11.37 * list (when traversing the list from head to tail). If the list 36.97/11.37 * does not contain the element, it is unchanged. 36.97/11.37 * 36.97/11.37 * @param o element to be removed from this list, if present 36.97/11.37 * @return true if the list contained the specified element 36.97/11.37 * @since 1.6 36.97/11.37 */ 36.97/11.37 public boolean removeLastOccurrence(Object o) { 36.97/11.37 if (o==null) { 36.97/11.37 for (Entry e = header.previous; e != header; e = e.previous) { 36.97/11.37 if (e.element==null) { 36.97/11.37 remove(e); 36.97/11.37 return true; 36.97/11.37 } 36.97/11.37 } 36.97/11.37 } else { 36.97/11.37 for (Entry e = header.previous; e != header; e = e.previous) { 36.97/11.37 if (o.equals(e.element)) { 36.97/11.37 remove(e); 36.97/11.37 return true; 36.97/11.37 } 36.97/11.37 } 36.97/11.37 } 36.97/11.37 return false; 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns a list-iterator of the elements in this list (in proper 36.97/11.37 * sequence), starting at the specified position in the list. 36.97/11.37 * Obeys the general contract of List.listIterator(int).

36.97/11.37 * 36.97/11.37 * The list-iterator is fail-fast: if the list is structurally 36.97/11.37 * modified at any time after the Iterator is created, in any way except 36.97/11.37 * through the list-iterator's own remove or add 36.97/11.37 * methods, the list-iterator will throw a 36.97/11.37 * ConcurrentModificationException. Thus, in the face of 36.97/11.37 * concurrent modification, the iterator fails quickly and cleanly, rather 36.97/11.37 * than risking arbitrary, non-deterministic behavior at an undetermined 36.97/11.37 * time in the future. 36.97/11.37 * 36.97/11.37 * @param index index of the first element to be returned from the 36.97/11.37 * list-iterator (by a call to next) 36.97/11.37 * @return a ListIterator of the elements in this list (in proper 36.97/11.37 * sequence), starting at the specified position in the list 36.97/11.37 * @throws IndexOutOfBoundsException {@inheritDoc} 36.97/11.37 * @see List#listIterator(int) 36.97/11.37 */ 36.97/11.37 public ListIterator listIterator(int index) { 36.97/11.37 return new ListItr(index); 36.97/11.37 } 36.97/11.37 36.97/11.37 private class ListItr implements ListIterator { 36.97/11.37 private Entry lastReturned = header; 36.97/11.37 private Entry next; 36.97/11.37 private int nextIndex; 36.97/11.37 private int expectedModCount = modCount; 36.97/11.37 36.97/11.37 ListItr(int index) { 36.97/11.37 if (index < 0 || index > size) 36.97/11.37 throw new IndexOutOfBoundsException(); 36.97/11.37 if (index < (size >> 1)) { 36.97/11.37 next = header.next; 36.97/11.37 for (nextIndex=0; nextIndexindex; nextIndex--) 36.97/11.37 next = next.previous; 36.97/11.37 } 36.97/11.37 } 36.97/11.37 36.97/11.37 public boolean hasNext() { 36.97/11.37 return nextIndex != size; 36.97/11.37 } 36.97/11.37 36.97/11.37 public E next() { 36.97/11.37 checkForComodification(); 36.97/11.37 if (nextIndex == size) 36.97/11.37 throw new NoSuchElementException(); 36.97/11.37 36.97/11.37 lastReturned = next; 36.97/11.37 next = next.next; 36.97/11.37 nextIndex++; 36.97/11.37 return lastReturned.element; 36.97/11.37 } 36.97/11.37 36.97/11.37 public boolean hasPrevious() { 36.97/11.37 return nextIndex != 0; 36.97/11.37 } 36.97/11.37 36.97/11.37 public E previous() { 36.97/11.37 if (nextIndex == 0) 36.97/11.37 throw new NoSuchElementException(); 36.97/11.37 36.97/11.37 lastReturned = next = next.previous; 36.97/11.37 nextIndex--; 36.97/11.37 checkForComodification(); 36.97/11.37 return lastReturned.element; 36.97/11.37 } 36.97/11.37 36.97/11.37 public int nextIndex() { 36.97/11.37 return nextIndex; 36.97/11.37 } 36.97/11.37 36.97/11.37 public int previousIndex() { 36.97/11.37 return nextIndex-1; 36.97/11.37 } 36.97/11.37 36.97/11.37 public void remove() { 36.97/11.37 checkForComodification(); 36.97/11.37 Entry lastNext = lastReturned.next; 36.97/11.37 try { 36.97/11.37 LinkedList.this.remove(lastReturned); 36.97/11.37 } catch (NoSuchElementException e) { 36.97/11.37 throw new IllegalStateException(); 36.97/11.37 } 36.97/11.37 if (next==lastReturned) 36.97/11.37 next = lastNext; 36.97/11.37 else 36.97/11.37 nextIndex--; 36.97/11.37 lastReturned = header; 36.97/11.37 expectedModCount++; 36.97/11.37 } 36.97/11.37 36.97/11.37 public void set(E e) { 36.97/11.37 if (lastReturned == header) 36.97/11.37 throw new IllegalStateException(); 36.97/11.37 checkForComodification(); 36.97/11.37 lastReturned.element = e; 36.97/11.37 } 36.97/11.37 36.97/11.37 public void add(E e) { 36.97/11.37 checkForComodification(); 36.97/11.37 lastReturned = header; 36.97/11.37 addBefore(e, next); 36.97/11.37 nextIndex++; 36.97/11.37 expectedModCount++; 36.97/11.37 } 36.97/11.37 36.97/11.37 final void checkForComodification() { 36.97/11.37 if (modCount != expectedModCount) 36.97/11.37 throw new ConcurrentModificationException(); 36.97/11.37 } 36.97/11.37 } 36.97/11.37 36.97/11.37 private static class Entry { 36.97/11.37 E element; 36.97/11.37 Entry next; 36.97/11.37 Entry previous; 36.97/11.37 36.97/11.37 Entry(E element, Entry next, Entry previous) { 36.97/11.37 this.element = element; 36.97/11.37 this.next = next; 36.97/11.37 this.previous = previous; 36.97/11.37 } 36.97/11.37 } 36.97/11.37 36.97/11.37 private Entry addBefore(E e, Entry entry) { 36.97/11.37 Entry newEntry = new Entry(e, entry, entry.previous); 36.97/11.37 newEntry.previous.next = newEntry; 36.97/11.37 newEntry.next.previous = newEntry; 36.97/11.37 size++; 36.97/11.37 modCount++; 36.97/11.37 return newEntry; 36.97/11.37 } 36.97/11.37 36.97/11.37 private E remove(Entry e) { 36.97/11.37 if (e == header) 36.97/11.37 throw new NoSuchElementException(); 36.97/11.37 36.97/11.37 E result = e.element; 36.97/11.37 e.previous.next = e.next; 36.97/11.37 e.next.previous = e.previous; 36.97/11.37 e.next = e.previous = null; 36.97/11.37 e.element = null; 36.97/11.37 size--; 36.97/11.37 modCount++; 36.97/11.37 return result; 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * @since 1.6 36.97/11.37 */ 36.97/11.37 public Iterator descendingIterator() { 36.97/11.37 return new DescendingIterator(); 36.97/11.37 } 36.97/11.37 36.97/11.37 /** Adapter to provide descending iterators via ListItr.previous */ 36.97/11.37 private class DescendingIterator implements Iterator { 36.97/11.37 final ListItr itr = new ListItr(size()); 36.97/11.37 public boolean hasNext() { 36.97/11.37 return itr.hasPrevious(); 36.97/11.37 } 36.97/11.37 public E next() { 36.97/11.37 return itr.previous(); 36.97/11.37 } 36.97/11.37 public void remove() { 36.97/11.37 itr.remove(); 36.97/11.37 } 36.97/11.37 } 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns an array containing all of the elements in this list 36.97/11.37 * in proper sequence (from first to last element). 36.97/11.37 * 36.97/11.37 *

The returned array will be "safe" in that no references to it are 36.97/11.37 * maintained by this list. (In other words, this method must allocate 36.97/11.37 * a new array). The caller is thus free to modify the returned array. 36.97/11.37 * 36.97/11.37 *

This method acts as bridge between array-based and collection-based 36.97/11.37 * APIs. 36.97/11.37 * 36.97/11.37 * @return an array containing all of the elements in this list 36.97/11.37 * in proper sequence 36.97/11.37 */ 36.97/11.37 public Object[] toArray() { 36.97/11.37 Object[] result = new Object[size]; 36.97/11.37 int i = 0; 36.97/11.37 for (Entry e = header.next; e != header; e = e.next) 36.97/11.37 result[i++] = e.element; 36.97/11.37 return result; 36.97/11.37 } 36.97/11.37 36.97/11.37 private static final long serialVersionUID = 876323262645176354L; 36.97/11.37 } 36.97/11.37 36.97/11.37 36.97/11.37 /* 36.97/11.37 * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.37 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.37 * 36.97/11.37 * This code is free software; you can redistribute it and/or modify it 36.97/11.37 * under the terms of the GNU General Public License version 2 only, as 36.97/11.37 * published by the Free Software Foundation. Sun designates this 36.97/11.37 * particular file as subject to the "Classpath" exception as provided 36.97/11.37 * by Sun in the LICENSE file that accompanied this code. 36.97/11.37 * 36.97/11.37 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.37 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.37 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.37 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.37 * accompanied this code). 36.97/11.37 * 36.97/11.37 * You should have received a copy of the GNU General Public License version 36.97/11.37 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.37 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.37 * 36.97/11.37 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.37 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.37 * have any questions. 36.97/11.37 */ 36.97/11.37 36.97/11.37 package javaUtilEx; 36.97/11.37 36.97/11.37 /** 36.97/11.37 * An iterator for lists that allows the programmer 36.97/11.37 * to traverse the list in either direction, modify 36.97/11.37 * the list during iteration, and obtain the iterator's 36.97/11.37 * current position in the list. A {@code ListIterator} 36.97/11.37 * has no current element; its cursor position always 36.97/11.37 * lies between the element that would be returned by a call 36.97/11.37 * to {@code previous()} and the element that would be 36.97/11.37 * returned by a call to {@code next()}. 36.97/11.37 * An iterator for a list of length {@code n} has {@code n+1} possible 36.97/11.37 * cursor positions, as illustrated by the carets ({@code ^}) below: 36.97/11.37 *

36.97/11.37	 *                      Element(0)   Element(1)   Element(2)   ... Element(n-1)
36.97/11.37	 * cursor positions:  ^            ^            ^            ^                  ^
36.97/11.37	 * 
36.97/11.37 * Note that the {@link #remove} and {@link #set(Object)} methods are 36.97/11.37 * not defined in terms of the cursor position; they are defined to 36.97/11.37 * operate on the last element returned by a call to {@link #next} or 36.97/11.37 * {@link #previous()}. 36.97/11.37 * 36.97/11.37 *

This interface is a member of the 36.97/11.37 * 36.97/11.37 * Java Collections Framework. 36.97/11.37 * 36.97/11.37 * @author Josh Bloch 36.97/11.37 * @see Collection 36.97/11.37 * @see List 36.97/11.37 * @see Iterator 36.97/11.37 * @see Enumeration 36.97/11.37 * @see List#listIterator() 36.97/11.37 * @since 1.2 36.97/11.37 */ 36.97/11.37 public interface ListIterator extends Iterator { 36.97/11.37 // Query Operations 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns {@code true} if this list iterator has more elements when 36.97/11.37 * traversing the list in the forward direction. (In other words, 36.97/11.37 * returns {@code true} if {@link #next} would return an element rather 36.97/11.37 * than throwing an exception.) 36.97/11.37 * 36.97/11.37 * @return {@code true} if the list iterator has more elements when 36.97/11.37 * traversing the list in the forward direction 36.97/11.37 */ 36.97/11.37 boolean hasNext(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the next element in the list and advances the cursor position. 36.97/11.37 * This method may be called repeatedly to iterate through the list, 36.97/11.37 * or intermixed with calls to {@link #previous} to go back and forth. 36.97/11.37 * (Note that alternating calls to {@code next} and {@code previous} 36.97/11.37 * will return the same element repeatedly.) 36.97/11.37 * 36.97/11.37 * @return the next element in the list 36.97/11.37 * @throws NoSuchElementException if the iteration has no next element 36.97/11.37 */ 36.97/11.37 E next(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns {@code true} if this list iterator has more elements when 36.97/11.37 * traversing the list in the reverse direction. (In other words, 36.97/11.37 * returns {@code true} if {@link #previous} would return an element 36.97/11.37 * rather than throwing an exception.) 36.97/11.37 * 36.97/11.37 * @return {@code true} if the list iterator has more elements when 36.97/11.37 * traversing the list in the reverse direction 36.97/11.37 */ 36.97/11.37 boolean hasPrevious(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the previous element in the list and moves the cursor 36.97/11.37 * position backwards. This method may be called repeatedly to 36.97/11.37 * iterate through the list backwards, or intermixed with calls to 36.97/11.37 * {@link #next} to go back and forth. (Note that alternating calls 36.97/11.37 * to {@code next} and {@code previous} will return the same 36.97/11.37 * element repeatedly.) 36.97/11.37 * 36.97/11.37 * @return the previous element in the list 36.97/11.37 * @throws NoSuchElementException if the iteration has no previous 36.97/11.37 * element 36.97/11.37 */ 36.97/11.37 E previous(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the index of the element that would be returned by a 36.97/11.37 * subsequent call to {@link #next}. (Returns list size if the list 36.97/11.37 * iterator is at the end of the list.) 36.97/11.37 * 36.97/11.37 * @return the index of the element that would be returned by a 36.97/11.37 * subsequent call to {@code next}, or list size if the list 36.97/11.37 * iterator is at the end of the list 36.97/11.37 */ 36.97/11.37 int nextIndex(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the index of the element that would be returned by a 36.97/11.37 * subsequent call to {@link #previous}. (Returns -1 if the list 36.97/11.37 * iterator is at the beginning of the list.) 36.97/11.37 * 36.97/11.37 * @return the index of the element that would be returned by a 36.97/11.37 * subsequent call to {@code previous}, or -1 if the list 36.97/11.37 * iterator is at the beginning of the list 36.97/11.37 */ 36.97/11.37 int previousIndex(); 36.97/11.37 36.97/11.37 36.97/11.37 // Modification Operations 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Removes from the list the last element that was returned by {@link 36.97/11.37 * #next} or {@link #previous} (optional operation). This call can 36.97/11.37 * only be made once per call to {@code next} or {@code previous}. 36.97/11.37 * It can be made only if {@link #add} has not been 36.97/11.37 * called after the last call to {@code next} or {@code previous}. 36.97/11.37 * 36.97/11.37 * @throws UnsupportedOperationException if the {@code remove} 36.97/11.37 * operation is not supported by this list iterator 36.97/11.37 * @throws IllegalStateException if neither {@code next} nor 36.97/11.37 * {@code previous} have been called, or {@code remove} or 36.97/11.37 * {@code add} have been called after the last call to 36.97/11.37 * {@code next} or {@code previous} 36.97/11.37 */ 36.97/11.37 void remove(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Replaces the last element returned by {@link #next} or 36.97/11.37 * {@link #previous} with the specified element (optional operation). 36.97/11.37 * This call can be made only if neither {@link #remove} nor {@link 36.97/11.37 * #add} have been called after the last call to {@code next} or 36.97/11.37 * {@code previous}. 36.97/11.37 * 36.97/11.37 * @param e the element with which to replace the last element returned by 36.97/11.37 * {@code next} or {@code previous} 36.97/11.37 * @throws UnsupportedOperationException if the {@code set} operation 36.97/11.37 * is not supported by this list iterator 36.97/11.37 * @throws ClassCastException if the class of the specified element 36.97/11.37 * prevents it from being added to this list 36.97/11.37 * @throws IllegalArgumentException if some aspect of the specified 36.97/11.37 * element prevents it from being added to this list 36.97/11.37 * @throws IllegalStateException if neither {@code next} nor 36.97/11.37 * {@code previous} have been called, or {@code remove} or 36.97/11.37 * {@code add} have been called after the last call to 36.97/11.37 * {@code next} or {@code previous} 36.97/11.37 */ 36.97/11.37 void set(E e); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Inserts the specified element into the list (optional operation). 36.97/11.37 * The element is inserted immediately before the next element that 36.97/11.37 * would be returned by {@link #next}, if any, and after the next 36.97/11.37 * element that would be returned by {@link #previous}, if any. (If the 36.97/11.37 * list contains no elements, the new element becomes the sole element 36.97/11.37 * on the list.) The new element is inserted before the implicit 36.97/11.37 * cursor: a subsequent call to {@code next} would be unaffected, and a 36.97/11.37 * subsequent call to {@code previous} would return the new element. 36.97/11.37 * (This call increases by one the value that would be returned by a 36.97/11.37 * call to {@code nextIndex} or {@code previousIndex}.) 36.97/11.37 * 36.97/11.37 * @param e the element to insert 36.97/11.37 * @throws UnsupportedOperationException if the {@code add} method is 36.97/11.37 * not supported by this list iterator 36.97/11.37 * @throws ClassCastException if the class of the specified element 36.97/11.37 * prevents it from being added to this list 36.97/11.37 * @throws IllegalArgumentException if some aspect of this element 36.97/11.37 * prevents it from being added to this list 36.97/11.37 */ 36.97/11.37 void add(E e); 36.97/11.37 } 36.97/11.37 36.97/11.37 36.97/11.37 /* 36.97/11.37 * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.37 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.37 * 36.97/11.37 * This code is free software; you can redistribute it and/or modify it 36.97/11.37 * under the terms of the GNU General Public License version 2 only, as 36.97/11.37 * published by the Free Software Foundation. Sun designates this 36.97/11.37 * particular file as subject to the "Classpath" exception as provided 36.97/11.37 * by Sun in the LICENSE file that accompanied this code. 36.97/11.37 * 36.97/11.37 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.37 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.37 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.37 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.37 * accompanied this code). 36.97/11.37 * 36.97/11.37 * You should have received a copy of the GNU General Public License version 36.97/11.37 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.37 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.37 * 36.97/11.37 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.37 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.37 * have any questions. 36.97/11.37 */ 36.97/11.37 36.97/11.37 package javaUtilEx; 36.97/11.37 36.97/11.37 /** 36.97/11.37 * An ordered collection (also known as a sequence). The user of this 36.97/11.37 * interface has precise control over where in the list each element is 36.97/11.37 * inserted. The user can access elements by their integer index (position in 36.97/11.37 * the list), and search for elements in the list.

36.97/11.37 * 36.97/11.37 * Unlike sets, lists typically allow duplicate elements. More formally, 36.97/11.37 * lists typically allow pairs of elements e1 and e2 36.97/11.37 * such that e1.equals(e2), and they typically allow multiple 36.97/11.37 * null elements if they allow null elements at all. It is not inconceivable 36.97/11.37 * that someone might wish to implement a list that prohibits duplicates, by 36.97/11.37 * throwing runtime exceptions when the user attempts to insert them, but we 36.97/11.37 * expect this usage to be rare.

36.97/11.37 * 36.97/11.37 * The List interface places additional stipulations, beyond those 36.97/11.37 * specified in the Collection interface, on the contracts of the 36.97/11.37 * iterator, add, remove, equals, and 36.97/11.37 * hashCode methods. Declarations for other inherited methods are 36.97/11.37 * also included here for convenience.

36.97/11.37 * 36.97/11.37 * The List interface provides four methods for positional (indexed) 36.97/11.37 * access to list elements. Lists (like Java arrays) are zero based. Note 36.97/11.37 * that these operations may execute in time proportional to the index value 36.97/11.37 * for some implementations (the LinkedList class, for 36.97/11.37 * example). Thus, iterating over the elements in a list is typically 36.97/11.37 * preferable to indexing through it if the caller does not know the 36.97/11.37 * implementation.

36.97/11.37 * 36.97/11.37 * The List interface provides a special iterator, called a 36.97/11.37 * ListIterator, that allows element insertion and replacement, and 36.97/11.37 * bidirectional access in addition to the normal operations that the 36.97/11.37 * Iterator interface provides. A method is provided to obtain a 36.97/11.37 * list iterator that starts at a specified position in the list.

36.97/11.37 * 36.97/11.37 * The List interface provides two methods to search for a specified 36.97/11.37 * object. From a performance standpoint, these methods should be used with 36.97/11.37 * caution. In many implementations they will perform costly linear 36.97/11.37 * searches.

36.97/11.37 * 36.97/11.37 * The List interface provides two methods to efficiently insert and 36.97/11.37 * remove multiple elements at an arbitrary point in the list.

36.97/11.37 * 36.97/11.37 * Note: While it is permissible for lists to contain themselves as elements, 36.97/11.37 * extreme caution is advised: the equals and hashCode 36.97/11.37 * methods are no longer well defined on such a list. 36.97/11.37 * 36.97/11.37 *

Some list implementations have restrictions on the elements that 36.97/11.37 * they may contain. For example, some implementations prohibit null elements, 36.97/11.37 * and some have restrictions on the types of their elements. Attempting to 36.97/11.37 * add an ineligible element throws an unchecked exception, typically 36.97/11.37 * NullPointerException or ClassCastException. Attempting 36.97/11.37 * to query the presence of an ineligible element may throw an exception, 36.97/11.37 * or it may simply return false; some implementations will exhibit the former 36.97/11.37 * behavior and some will exhibit the latter. More generally, attempting an 36.97/11.37 * operation on an ineligible element whose completion would not result in 36.97/11.37 * the insertion of an ineligible element into the list may throw an 36.97/11.37 * exception or it may succeed, at the option of the implementation. 36.97/11.37 * Such exceptions are marked as "optional" in the specification for this 36.97/11.37 * interface. 36.97/11.37 * 36.97/11.37 *

This interface is a member of the 36.97/11.37 * 36.97/11.37 * Java Collections Framework. 36.97/11.37 * 36.97/11.37 * @author Josh Bloch 36.97/11.37 * @author Neal Gafter 36.97/11.37 * @see Collection 36.97/11.37 * @see Set 36.97/11.37 * @see ArrayList 36.97/11.37 * @see LinkedList 36.97/11.37 * @see Vector 36.97/11.37 * @see Arrays#asList(Object[]) 36.97/11.37 * @see Collections#nCopies(int, Object) 36.97/11.37 * @see Collections#EMPTY_LIST 36.97/11.37 * @see AbstractList 36.97/11.37 * @see AbstractSequentialList 36.97/11.37 * @since 1.2 36.97/11.37 */ 36.97/11.37 36.97/11.37 public interface List extends Collection { 36.97/11.37 // Query Operations 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the number of elements in this list. If this list contains 36.97/11.37 * more than Integer.MAX_VALUE elements, returns 36.97/11.37 * Integer.MAX_VALUE. 36.97/11.37 * 36.97/11.37 * @return the number of elements in this list 36.97/11.37 */ 36.97/11.37 int size(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns true if this list contains no elements. 36.97/11.37 * 36.97/11.37 * @return true if this list contains no elements 36.97/11.37 */ 36.97/11.37 boolean isEmpty(); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns true if this list contains the specified element. 36.97/11.37 * More formally, returns true if and only if this list contains 36.97/11.37 * at least one element e such that 36.97/11.37 * (o==null ? e==null : o.equals(e)). 36.97/11.37 * 36.97/11.37 * @param o element whose presence in this list is to be tested 36.97/11.37 * @return true if this list contains the specified element 36.97/11.37 * @throws ClassCastException if the type of the specified element 36.97/11.37 * is incompatible with this list (optional) 36.97/11.37 * @throws NullPointerException if the specified element is null and this 36.97/11.37 * list does not permit null elements (optional) 36.97/11.37 */ 36.97/11.37 boolean contains(Object o); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns an iterator over the elements in this list in proper sequence. 36.97/11.37 * 36.97/11.37 * @return an iterator over the elements in this list in proper sequence 36.97/11.37 */ 36.97/11.37 Iterator iterator(); 36.97/11.37 36.97/11.37 // Modification Operations 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Appends the specified element to the end of this list (optional 36.97/11.37 * operation). 36.97/11.37 * 36.97/11.37 *

Lists that support this operation may place limitations on what 36.97/11.37 * elements may be added to this list. In particular, some 36.97/11.37 * lists will refuse to add null elements, and others will impose 36.97/11.37 * restrictions on the type of elements that may be added. List 36.97/11.37 * classes should clearly specify in their documentation any restrictions 36.97/11.37 * on what elements may be added. 36.97/11.37 * 36.97/11.37 * @param e element to be appended to this list 36.97/11.37 * @return true (as specified by {@link Collection#add}) 36.97/11.37 * @throws UnsupportedOperationException if the add operation 36.97/11.37 * is not supported by this list 36.97/11.37 * @throws ClassCastException if the class of the specified element 36.97/11.37 * prevents it from being added to this list 36.97/11.37 * @throws NullPointerException if the specified element is null and this 36.97/11.37 * list does not permit null elements 36.97/11.37 * @throws IllegalArgumentException if some property of this element 36.97/11.37 * prevents it from being added to this list 36.97/11.37 */ 36.97/11.37 boolean add(E e); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Removes the first occurrence of the specified element from this list, 36.97/11.37 * if it is present (optional operation). If this list does not contain 36.97/11.37 * the element, it is unchanged. More formally, removes the element with 36.97/11.37 * the lowest index i such that 36.97/11.37 * (o==null ? get(i)==null : o.equals(get(i))) 36.97/11.37 * (if such an element exists). Returns true if this list 36.97/11.37 * contained the specified element (or equivalently, if this list changed 36.97/11.37 * as a result of the call). 36.97/11.37 * 36.97/11.37 * @param o element to be removed from this list, if present 36.97/11.37 * @return true if this list contained the specified element 36.97/11.37 * @throws ClassCastException if the type of the specified element 36.97/11.37 * is incompatible with this list (optional) 36.97/11.37 * @throws NullPointerException if the specified element is null and this 36.97/11.37 * list does not permit null elements (optional) 36.97/11.37 * @throws UnsupportedOperationException if the remove operation 36.97/11.37 * is not supported by this list 36.97/11.37 */ 36.97/11.37 boolean remove(Object o); 36.97/11.37 36.97/11.37 36.97/11.37 // Bulk Modification Operations 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns true if this list contains all of the elements of the 36.97/11.37 * specified collection. 36.97/11.37 * 36.97/11.37 * @param c collection to be checked for containment in this list 36.97/11.37 * @return true if this list contains all of the elements of the 36.97/11.37 * specified collection 36.97/11.37 * @throws ClassCastException if the types of one or more elements 36.97/11.37 * in the specified collection are incompatible with this 36.97/11.37 * list (optional) 36.97/11.37 * @throws NullPointerException if the specified collection contains one 36.97/11.37 * or more null elements and this list does not permit null 36.97/11.37 * elements (optional), or if the specified collection is null 36.97/11.37 * @see #contains(Object) 36.97/11.37 */ 36.97/11.37 boolean containsAll(Collection c); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Appends all of the elements in the specified collection to the end of 36.97/11.37 * this list, in the order that they are returned by the specified 36.97/11.37 * collection's iterator (optional operation). The behavior of this 36.97/11.37 * operation is undefined if the specified collection is modified while 36.97/11.37 * the operation is in progress. (Note that this will occur if the 36.97/11.37 * specified collection is this list, and it's nonempty.) 36.97/11.37 * 36.97/11.37 * @param c collection containing elements to be added to this list 36.97/11.37 * @return true if this list changed as a result of the call 36.97/11.37 * @throws UnsupportedOperationException if the addAll operation 36.97/11.37 * is not supported by this list 36.97/11.37 * @throws ClassCastException if the class of an element of the specified 36.97/11.37 * collection prevents it from being added to this list 36.97/11.37 * @throws NullPointerException if the specified collection contains one 36.97/11.37 * or more null elements and this list does not permit null 36.97/11.37 * elements, or if the specified collection is null 36.97/11.37 * @throws IllegalArgumentException if some property of an element of the 36.97/11.37 * specified collection prevents it from being added to this list 36.97/11.37 * @see #add(Object) 36.97/11.37 */ 36.97/11.37 boolean addAll(Collection c); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Inserts all of the elements in the specified collection into this 36.97/11.37 * list at the specified position (optional operation). Shifts the 36.97/11.37 * element currently at that position (if any) and any subsequent 36.97/11.37 * elements to the right (increases their indices). The new elements 36.97/11.37 * will appear in this list in the order that they are returned by the 36.97/11.37 * specified collection's iterator. The behavior of this operation is 36.97/11.37 * undefined if the specified collection is modified while the 36.97/11.37 * operation is in progress. (Note that this will occur if the specified 36.97/11.37 * collection is this list, and it's nonempty.) 36.97/11.37 * 36.97/11.37 * @param index index at which to insert the first element from the 36.97/11.37 * specified collection 36.97/11.37 * @param c collection containing elements to be added to this list 36.97/11.37 * @return true if this list changed as a result of the call 36.97/11.37 * @throws UnsupportedOperationException if the addAll operation 36.97/11.37 * is not supported by this list 36.97/11.37 * @throws ClassCastException if the class of an element of the specified 36.97/11.37 * collection prevents it from being added to this list 36.97/11.37 * @throws NullPointerException if the specified collection contains one 36.97/11.37 * or more null elements and this list does not permit null 36.97/11.37 * elements, or if the specified collection is null 36.97/11.37 * @throws IllegalArgumentException if some property of an element of the 36.97/11.37 * specified collection prevents it from being added to this list 36.97/11.37 * @throws IndexOutOfBoundsException if the index is out of range 36.97/11.37 * (index < 0 || index > size()) 36.97/11.37 */ 36.97/11.37 boolean addAll(int index, Collection c); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Removes from this list all of its elements that are contained in the 36.97/11.37 * specified collection (optional operation). 36.97/11.37 * 36.97/11.37 * @param c collection containing elements to be removed from this list 36.97/11.37 * @return true if this list changed as a result of the call 36.97/11.37 * @throws UnsupportedOperationException if the removeAll operation 36.97/11.37 * is not supported by this list 36.97/11.37 * @throws ClassCastException if the class of an element of this list 36.97/11.37 * is incompatible with the specified collection (optional) 36.97/11.37 * @throws NullPointerException if this list contains a null element and the 36.97/11.37 * specified collection does not permit null elements (optional), 36.97/11.37 * or if the specified collection is null 36.97/11.37 * @see #remove(Object) 36.97/11.37 * @see #contains(Object) 36.97/11.37 */ 36.97/11.37 boolean removeAll(Collection c); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Retains only the elements in this list that are contained in the 36.97/11.37 * specified collection (optional operation). In other words, removes 36.97/11.37 * from this list all of its elements that are not contained in the 36.97/11.37 * specified collection. 36.97/11.37 * 36.97/11.37 * @param c collection containing elements to be retained in this list 36.97/11.37 * @return true if this list changed as a result of the call 36.97/11.37 * @throws UnsupportedOperationException if the retainAll operation 36.97/11.37 * is not supported by this list 36.97/11.37 * @throws ClassCastException if the class of an element of this list 36.97/11.37 * is incompatible with the specified collection (optional) 36.97/11.37 * @throws NullPointerException if this list contains a null element and the 36.97/11.37 * specified collection does not permit null elements (optional), 36.97/11.37 * or if the specified collection is null 36.97/11.37 * @see #remove(Object) 36.97/11.37 * @see #contains(Object) 36.97/11.37 */ 36.97/11.37 boolean retainAll(Collection c); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Removes all of the elements from this list (optional operation). 36.97/11.37 * The list will be empty after this call returns. 36.97/11.37 * 36.97/11.37 * @throws UnsupportedOperationException if the clear operation 36.97/11.37 * is not supported by this list 36.97/11.37 */ 36.97/11.37 void clear(); 36.97/11.37 36.97/11.37 36.97/11.37 // Comparison and hashing 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Compares the specified object with this list for equality. Returns 36.97/11.37 * true if and only if the specified object is also a list, both 36.97/11.37 * lists have the same size, and all corresponding pairs of elements in 36.97/11.37 * the two lists are equal. (Two elements e1 and 36.97/11.37 * e2 are equal if (e1==null ? e2==null : 36.97/11.37 * e1.equals(e2)).) In other words, two lists are defined to be 36.97/11.37 * equal if they contain the same elements in the same order. This 36.97/11.37 * definition ensures that the equals method works properly across 36.97/11.37 * different implementations of the List interface. 36.97/11.37 * 36.97/11.37 * @param o the object to be compared for equality with this list 36.97/11.37 * @return true if the specified object is equal to this list 36.97/11.37 */ 36.97/11.37 boolean equals(Object o); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the hash code value for this list. The hash code of a list 36.97/11.37 * is defined to be the result of the following calculation: 36.97/11.37 *

36.97/11.37	     *  int hashCode = 1;
36.97/11.37	     *  for (E e : list)
36.97/11.37	     *      hashCode = 31*hashCode + (e==null ? 0 : e.hashCode());
36.97/11.37	     * 
36.97/11.37 * This ensures that list1.equals(list2) implies that 36.97/11.37 * list1.hashCode()==list2.hashCode() for any two lists, 36.97/11.37 * list1 and list2, as required by the general 36.97/11.37 * contract of {@link Object#hashCode}. 36.97/11.37 * 36.97/11.37 * @return the hash code value for this list 36.97/11.37 * @see Object#equals(Object) 36.97/11.37 * @see #equals(Object) 36.97/11.37 */ 36.97/11.37 int hashCode(); 36.97/11.37 36.97/11.37 36.97/11.37 // Positional Access Operations 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Returns the element at the specified position in this list. 36.97/11.37 * 36.97/11.37 * @param index index of the element to return 36.97/11.37 * @return the element at the specified position in this list 36.97/11.37 * @throws IndexOutOfBoundsException if the index is out of range 36.97/11.37 * (index < 0 || index >= size()) 36.97/11.37 */ 36.97/11.37 E get(int index); 36.97/11.37 36.97/11.37 /** 36.97/11.37 * Replaces the element at the specified position in this list with the 36.97/11.37 * specified element (optional operation). 36.97/11.37 * 36.97/11.37 * @param index index of the element to replace 36.97/11.37 * @param element element to be stored at the specified position 36.97/11.37 * @return the element previously at the specified position 36.97/11.38 * @throws UnsupportedOperationException if the set operation 36.97/11.38 * is not supported by this list 36.97/11.38 * @throws ClassCastException if the class of the specified element 36.97/11.38 * prevents it from being added to this list 36.97/11.38 * @throws NullPointerException if the specified element is null and 36.97/11.38 * this list does not permit null elements 36.97/11.38 * @throws IllegalArgumentException if some property of the specified 36.97/11.38 * element prevents it from being added to this list 36.97/11.38 * @throws IndexOutOfBoundsException if the index is out of range 36.97/11.38 * (index < 0 || index >= size()) 36.97/11.38 */ 36.97/11.38 E set(int index, E element); 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Inserts the specified element at the specified position in this list 36.97/11.38 * (optional operation). Shifts the element currently at that position 36.97/11.38 * (if any) and any subsequent elements to the right (adds one to their 36.97/11.38 * indices). 36.97/11.38 * 36.97/11.38 * @param index index at which the specified element is to be inserted 36.97/11.38 * @param element element to be inserted 36.97/11.38 * @throws UnsupportedOperationException if the add operation 36.97/11.38 * is not supported by this list 36.97/11.38 * @throws ClassCastException if the class of the specified element 36.97/11.38 * prevents it from being added to this list 36.97/11.38 * @throws NullPointerException if the specified element is null and 36.97/11.38 * this list does not permit null elements 36.97/11.38 * @throws IllegalArgumentException if some property of the specified 36.97/11.38 * element prevents it from being added to this list 36.97/11.38 * @throws IndexOutOfBoundsException if the index is out of range 36.97/11.38 * (index < 0 || index > size()) 36.97/11.38 */ 36.97/11.38 void add(int index, E element); 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Removes the element at the specified position in this list (optional 36.97/11.38 * operation). Shifts any subsequent elements to the left (subtracts one 36.97/11.38 * from their indices). Returns the element that was removed from the 36.97/11.38 * list. 36.97/11.38 * 36.97/11.38 * @param index the index of the element to be removed 36.97/11.38 * @return the element previously at the specified position 36.97/11.38 * @throws UnsupportedOperationException if the remove operation 36.97/11.38 * is not supported by this list 36.97/11.38 * @throws IndexOutOfBoundsException if the index is out of range 36.97/11.38 * (index < 0 || index >= size()) 36.97/11.38 */ 36.97/11.38 E remove(int index); 36.97/11.38 36.97/11.38 36.97/11.38 // Search Operations 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Returns the index of the first occurrence of the specified element 36.97/11.38 * in this list, or -1 if this list does not contain the element. 36.97/11.38 * More formally, returns the lowest index i such that 36.97/11.38 * (o==null ? get(i)==null : o.equals(get(i))), 36.97/11.38 * or -1 if there is no such index. 36.97/11.38 * 36.97/11.38 * @param o element to search for 36.97/11.38 * @return the index of the first occurrence of the specified element in 36.97/11.38 * this list, or -1 if this list does not contain the element 36.97/11.38 * @throws ClassCastException if the type of the specified element 36.97/11.38 * is incompatible with this list (optional) 36.97/11.38 * @throws NullPointerException if the specified element is null and this 36.97/11.38 * list does not permit null elements (optional) 36.97/11.38 */ 36.97/11.38 int indexOf(Object o); 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Returns the index of the last occurrence of the specified element 36.97/11.38 * in this list, or -1 if this list does not contain the element. 36.97/11.38 * More formally, returns the highest index i such that 36.97/11.38 * (o==null ? get(i)==null : o.equals(get(i))), 36.97/11.38 * or -1 if there is no such index. 36.97/11.38 * 36.97/11.38 * @param o element to search for 36.97/11.38 * @return the index of the last occurrence of the specified element in 36.97/11.38 * this list, or -1 if this list does not contain the element 36.97/11.38 * @throws ClassCastException if the type of the specified element 36.97/11.38 * is incompatible with this list (optional) 36.97/11.38 * @throws NullPointerException if the specified element is null and this 36.97/11.38 * list does not permit null elements (optional) 36.97/11.38 */ 36.97/11.38 int lastIndexOf(Object o); 36.97/11.38 36.97/11.38 36.97/11.38 // List Iterators 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Returns a list iterator over the elements in this list (in proper 36.97/11.38 * sequence). 36.97/11.38 * 36.97/11.38 * @return a list iterator over the elements in this list (in proper 36.97/11.38 * sequence) 36.97/11.38 */ 36.97/11.38 ListIterator listIterator(); 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Returns a list iterator over the elements in this list (in proper 36.97/11.38 * sequence), starting at the specified position in the list. 36.97/11.38 * The specified index indicates the first element that would be 36.97/11.38 * returned by an initial call to {@link ListIterator#next next}. 36.97/11.38 * An initial call to {@link ListIterator#previous previous} would 36.97/11.38 * return the element with the specified index minus one. 36.97/11.38 * 36.97/11.38 * @param index index of the first element to be returned from the 36.97/11.38 * list iterator (by a call to {@link ListIterator#next next}) 36.97/11.38 * @return a list iterator over the elements in this list (in proper 36.97/11.38 * sequence), starting at the specified position in the list 36.97/11.38 * @throws IndexOutOfBoundsException if the index is out of range 36.97/11.38 * ({@code index < 0 || index > size()}) 36.97/11.38 */ 36.97/11.38 ListIterator listIterator(int index); 36.97/11.38 36.97/11.38 // View 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Returns a view of the portion of this list between the specified 36.97/11.38 * fromIndex, inclusive, and toIndex, exclusive. (If 36.97/11.38 * fromIndex and toIndex are equal, the returned list is 36.97/11.38 * empty.) The returned list is backed by this list, so non-structural 36.97/11.38 * changes in the returned list are reflected in this list, and vice-versa. 36.97/11.38 * The returned list supports all of the optional list operations supported 36.97/11.38 * by this list.

36.97/11.38 * 36.97/11.38 * This method eliminates the need for explicit range operations (of 36.97/11.38 * the sort that commonly exist for arrays). Any operation that expects 36.97/11.38 * a list can be used as a range operation by passing a subList view 36.97/11.38 * instead of a whole list. For example, the following idiom 36.97/11.38 * removes a range of elements from a list: 36.97/11.38 *

36.97/11.38	     *      list.subList(from, to).clear();
36.97/11.38	     * 
36.97/11.38 * Similar idioms may be constructed for indexOf and 36.97/11.38 * lastIndexOf, and all of the algorithms in the 36.97/11.38 * Collections class can be applied to a subList.

36.97/11.38 * 36.97/11.38 * The semantics of the list returned by this method become undefined if 36.97/11.38 * the backing list (i.e., this list) is structurally modified in 36.97/11.38 * any way other than via the returned list. (Structural modifications are 36.97/11.38 * those that change the size of this list, or otherwise perturb it in such 36.97/11.38 * a fashion that iterations in progress may yield incorrect results.) 36.97/11.38 * 36.97/11.38 * @param fromIndex low endpoint (inclusive) of the subList 36.97/11.38 * @param toIndex high endpoint (exclusive) of the subList 36.97/11.38 * @return a view of the specified range within this list 36.97/11.38 * @throws IndexOutOfBoundsException for an illegal endpoint index value 36.97/11.38 * (fromIndex < 0 || toIndex > size || 36.97/11.38 * fromIndex > toIndex) 36.97/11.38 */ 36.97/11.38 List subList(int fromIndex, int toIndex); 36.97/11.38 } 36.97/11.38 36.97/11.38 36.97/11.38 /* 36.97/11.38 * Copyright 1994-1998 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.38 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.38 * 36.97/11.38 * This code is free software; you can redistribute it and/or modify it 36.97/11.38 * under the terms of the GNU General Public License version 2 only, as 36.97/11.38 * published by the Free Software Foundation. Sun designates this 36.97/11.38 * particular file as subject to the "Classpath" exception as provided 36.97/11.38 * by Sun in the LICENSE file that accompanied this code. 36.97/11.38 * 36.97/11.38 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.38 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.38 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.38 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.38 * accompanied this code). 36.97/11.38 * 36.97/11.38 * You should have received a copy of the GNU General Public License version 36.97/11.38 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.38 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.38 * 36.97/11.38 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.38 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.38 * have any questions. 36.97/11.38 */ 36.97/11.38 36.97/11.38 package javaUtilEx; 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Thrown by the nextElement method of an 36.97/11.38 * Enumeration to indicate that there are no more 36.97/11.38 * elements in the enumeration. 36.97/11.38 * 36.97/11.38 * @author unascribed 36.97/11.38 * @see java.util.Enumeration 36.97/11.38 * @see java.util.Enumeration#nextElement() 36.97/11.38 * @since JDK1.0 36.97/11.38 */ 36.97/11.38 public 36.97/11.38 class NoSuchElementException extends RuntimeException { 36.97/11.38 /** 36.97/11.38 * Constructs a NoSuchElementException with null 36.97/11.38 * as its error message string. 36.97/11.38 */ 36.97/11.38 public NoSuchElementException() { 36.97/11.38 super(); 36.97/11.38 } 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Constructs a NoSuchElementException, saving a reference 36.97/11.38 * to the error message string s for later retrieval by the 36.97/11.38 * getMessage method. 36.97/11.38 * 36.97/11.38 * @param s the detail message. 36.97/11.38 */ 36.97/11.38 public NoSuchElementException(String s) { 36.97/11.38 super(s); 36.97/11.38 } 36.97/11.38 } 36.97/11.38 36.97/11.38 36.97/11.38 /* 36.97/11.38 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.38 * 36.97/11.38 * This code is free software; you can redistribute it and/or modify it 36.97/11.38 * under the terms of the GNU General Public License version 2 only, as 36.97/11.38 * published by the Free Software Foundation. Sun designates this 36.97/11.38 * particular file as subject to the "Classpath" exception as provided 36.97/11.38 * by Sun in the LICENSE file that accompanied this code. 36.97/11.38 * 36.97/11.38 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.38 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.38 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.38 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.38 * accompanied this code). 36.97/11.38 * 36.97/11.38 * You should have received a copy of the GNU General Public License version 36.97/11.38 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.38 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.38 * 36.97/11.38 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.38 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.38 * have any questions. 36.97/11.38 */ 36.97/11.38 36.97/11.38 /* 36.97/11.38 * This file is available under and governed by the GNU General Public 36.97/11.38 * License version 2 only, as published by the Free Software Foundation. 36.97/11.38 * However, the following notice accompanied the original version of this 36.97/11.38 * file: 36.97/11.38 * 36.97/11.38 * Written by Doug Lea with assistance from members of JCP JSR-166 36.97/11.38 * Expert Group and released to the public domain, as explained at 36.97/11.38 * http://creativecommons.org/licenses/publicdomain 36.97/11.38 */ 36.97/11.38 36.97/11.38 package javaUtilEx; 36.97/11.38 36.97/11.38 /** 36.97/11.38 * A collection designed for holding elements prior to processing. 36.97/11.38 * Besides basic {@link java.util.Collection Collection} operations, 36.97/11.38 * queues provide additional insertion, extraction, and inspection 36.97/11.38 * operations. Each of these methods exists in two forms: one throws 36.97/11.38 * an exception if the operation fails, the other returns a special 36.97/11.38 * value (either null or false, depending on the 36.97/11.38 * operation). The latter form of the insert operation is designed 36.97/11.38 * specifically for use with capacity-restricted Queue 36.97/11.38 * implementations; in most implementations, insert operations cannot 36.97/11.38 * fail. 36.97/11.38 * 36.97/11.38 *

36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 * 36.97/11.38 *
Throws exceptionReturns special value
Insert{@link #add add(e)}{@link #offer offer(e)}
Remove{@link #remove remove()}{@link #poll poll()}
Examine{@link #element element()}{@link #peek peek()}
36.97/11.38 * 36.97/11.38 *

Queues typically, but do not necessarily, order elements in a 36.97/11.38 * FIFO (first-in-first-out) manner. Among the exceptions are 36.97/11.38 * priority queues, which order elements according to a supplied 36.97/11.38 * comparator, or the elements' natural ordering, and LIFO queues (or 36.97/11.38 * stacks) which order the elements LIFO (last-in-first-out). 36.97/11.38 * Whatever the ordering used, the head of the queue is that 36.97/11.38 * element which would be removed by a call to {@link #remove() } or 36.97/11.38 * {@link #poll()}. In a FIFO queue, all new elements are inserted at 36.97/11.38 * the tail of the queue. Other kinds of queues may use 36.97/11.38 * different placement rules. Every Queue implementation 36.97/11.38 * must specify its ordering properties. 36.97/11.38 * 36.97/11.38 *

The {@link #offer offer} method inserts an element if possible, 36.97/11.38 * otherwise returning false. This differs from the {@link 36.97/11.38 * java.util.Collection#add Collection.add} method, which can fail to 36.97/11.38 * add an element only by throwing an unchecked exception. The 36.97/11.38 * offer method is designed for use when failure is a normal, 36.97/11.38 * rather than exceptional occurrence, for example, in fixed-capacity 36.97/11.38 * (or "bounded") queues. 36.97/11.38 * 36.97/11.38 *

The {@link #remove()} and {@link #poll()} methods remove and 36.97/11.38 * return the head of the queue. 36.97/11.38 * Exactly which element is removed from the queue is a 36.97/11.38 * function of the queue's ordering policy, which differs from 36.97/11.38 * implementation to implementation. The remove() and 36.97/11.38 * poll() methods differ only in their behavior when the 36.97/11.38 * queue is empty: the remove() method throws an exception, 36.97/11.38 * while the poll() method returns null. 36.97/11.38 * 36.97/11.38 *

The {@link #element()} and {@link #peek()} methods return, but do 36.97/11.38 * not remove, the head of the queue. 36.97/11.38 * 36.97/11.38 *

The Queue interface does not define the blocking queue 36.97/11.38 * methods, which are common in concurrent programming. These methods, 36.97/11.38 * which wait for elements to appear or for space to become available, are 36.97/11.38 * defined in the {@link java.util.concurrent.BlockingQueue} interface, which 36.97/11.38 * extends this interface. 36.97/11.38 * 36.97/11.38 *

Queue implementations generally do not allow insertion 36.97/11.38 * of null elements, although some implementations, such as 36.97/11.38 * {@link LinkedList}, do not prohibit insertion of null. 36.97/11.38 * Even in the implementations that permit it, null should 36.97/11.38 * not be inserted into a Queue, as null is also 36.97/11.38 * used as a special return value by the poll method to 36.97/11.38 * indicate that the queue contains no elements. 36.97/11.38 * 36.97/11.38 *

Queue implementations generally do not define 36.97/11.38 * element-based versions of methods equals and 36.97/11.38 * hashCode but instead inherit the identity based versions 36.97/11.38 * from class Object, because element-based equality is not 36.97/11.38 * always well-defined for queues with the same elements but different 36.97/11.38 * ordering properties. 36.97/11.38 * 36.97/11.38 * 36.97/11.38 *

This interface is a member of the 36.97/11.38 * 36.97/11.38 * Java Collections Framework. 36.97/11.38 * 36.97/11.38 * @see java.util.Collection 36.97/11.38 * @see LinkedList 36.97/11.38 * @see PriorityQueue 36.97/11.38 * @see java.util.concurrent.LinkedBlockingQueue 36.97/11.38 * @see java.util.concurrent.BlockingQueue 36.97/11.38 * @see java.util.concurrent.ArrayBlockingQueue 36.97/11.38 * @see java.util.concurrent.LinkedBlockingQueue 36.97/11.38 * @see java.util.concurrent.PriorityBlockingQueue 36.97/11.38 * @since 1.5 36.97/11.38 * @author Doug Lea 36.97/11.38 * @param the type of elements held in this collection 36.97/11.38 */ 36.97/11.38 public interface Queue extends Collection { 36.97/11.38 /** 36.97/11.38 * Inserts the specified element into this queue if it is possible to do so 36.97/11.38 * immediately without violating capacity restrictions, returning 36.97/11.38 * true upon success and throwing an IllegalStateException 36.97/11.38 * if no space is currently available. 36.97/11.38 * 36.97/11.38 * @param e the element to add 36.97/11.38 * @return true (as specified by {@link Collection#add}) 36.97/11.38 * @throws IllegalStateException if the element cannot be added at this 36.97/11.38 * time due to capacity restrictions 36.97/11.38 * @throws ClassCastException if the class of the specified element 36.97/11.38 * prevents it from being added to this queue 36.97/11.38 * @throws NullPointerException if the specified element is null and 36.97/11.38 * this queue does not permit null elements 36.97/11.38 * @throws IllegalArgumentException if some property of this element 36.97/11.38 * prevents it from being added to this queue 36.97/11.38 */ 36.97/11.38 boolean add(E e); 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Inserts the specified element into this queue if it is possible to do 36.97/11.38 * so immediately without violating capacity restrictions. 36.97/11.38 * When using a capacity-restricted queue, this method is generally 36.97/11.38 * preferable to {@link #add}, which can fail to insert an element only 36.97/11.38 * by throwing an exception. 36.97/11.38 * 36.97/11.38 * @param e the element to add 36.97/11.38 * @return true if the element was added to this queue, else 36.97/11.38 * false 36.97/11.38 * @throws ClassCastException if the class of the specified element 36.97/11.38 * prevents it from being added to this queue 36.97/11.38 * @throws NullPointerException if the specified element is null and 36.97/11.38 * this queue does not permit null elements 36.97/11.38 * @throws IllegalArgumentException if some property of this element 36.97/11.38 * prevents it from being added to this queue 36.97/11.38 */ 36.97/11.38 boolean offer(E e); 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Retrieves and removes the head of this queue. This method differs 36.97/11.38 * from {@link #poll poll} only in that it throws an exception if this 36.97/11.38 * queue is empty. 36.97/11.38 * 36.97/11.38 * @return the head of this queue 36.97/11.38 * @throws NoSuchElementException if this queue is empty 36.97/11.38 */ 36.97/11.38 E remove(); 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Retrieves and removes the head of this queue, 36.97/11.38 * or returns null if this queue is empty. 36.97/11.38 * 36.97/11.38 * @return the head of this queue, or null if this queue is empty 36.97/11.38 */ 36.97/11.38 E poll(); 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Retrieves, but does not remove, the head of this queue. This method 36.97/11.38 * differs from {@link #peek peek} only in that it throws an exception 36.97/11.38 * if this queue is empty. 36.97/11.38 * 36.97/11.38 * @return the head of this queue 36.97/11.38 * @throws NoSuchElementException if this queue is empty 36.97/11.38 */ 36.97/11.38 E element(); 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Retrieves, but does not remove, the head of this queue, 36.97/11.38 * or returns null if this queue is empty. 36.97/11.38 * 36.97/11.38 * @return the head of this queue, or null if this queue is empty 36.97/11.38 */ 36.97/11.38 E peek(); 36.97/11.38 } 36.97/11.38 36.97/11.38 36.97/11.38 /* 36.97/11.38 * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.38 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.38 * 36.97/11.38 * This code is free software; you can redistribute it and/or modify it 36.97/11.38 * under the terms of the GNU General Public License version 2 only, as 36.97/11.38 * published by the Free Software Foundation. Sun designates this 36.97/11.38 * particular file as subject to the "Classpath" exception as provided 36.97/11.38 * by Sun in the LICENSE file that accompanied this code. 36.97/11.38 * 36.97/11.38 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.38 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.38 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.38 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.38 * accompanied this code). 36.97/11.38 * 36.97/11.38 * You should have received a copy of the GNU General Public License version 36.97/11.38 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.38 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.38 * 36.97/11.38 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.38 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.38 * have any questions. 36.97/11.38 */ 36.97/11.38 36.97/11.38 package javaUtilEx; 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Marker interface used by List implementations to indicate that 36.97/11.38 * they support fast (generally constant time) random access. The primary 36.97/11.38 * purpose of this interface is to allow generic algorithms to alter their 36.97/11.38 * behavior to provide good performance when applied to either random or 36.97/11.38 * sequential access lists. 36.97/11.38 * 36.97/11.38 *

The best algorithms for manipulating random access lists (such as 36.97/11.38 * ArrayList) can produce quadratic behavior when applied to 36.97/11.38 * sequential access lists (such as LinkedList). Generic list 36.97/11.38 * algorithms are encouraged to check whether the given list is an 36.97/11.38 * instanceof this interface before applying an algorithm that would 36.97/11.38 * provide poor performance if it were applied to a sequential access list, 36.97/11.38 * and to alter their behavior if necessary to guarantee acceptable 36.97/11.38 * performance. 36.97/11.38 * 36.97/11.38 *

It is recognized that the distinction between random and sequential 36.97/11.38 * access is often fuzzy. For example, some List implementations 36.97/11.38 * provide asymptotically linear access times if they get huge, but constant 36.97/11.38 * access times in practice. Such a List implementation 36.97/11.38 * should generally implement this interface. As a rule of thumb, a 36.97/11.38 * List implementation should implement this interface if, 36.97/11.38 * for typical instances of the class, this loop: 36.97/11.38 *

36.97/11.38	 *     for (int i=0, n=list.size(); i < n; i++)
36.97/11.38	 *         list.get(i);
36.97/11.38	 * 
36.97/11.38 * runs faster than this loop: 36.97/11.38 *
36.97/11.38	 *     for (Iterator i=list.iterator(); i.hasNext(); )
36.97/11.38	 *         i.next();
36.97/11.38	 * 
36.97/11.38 * 36.97/11.38 *

This interface is a member of the 36.97/11.38 * 36.97/11.38 * Java Collections Framework. 36.97/11.38 * 36.97/11.38 * @since 1.4 36.97/11.38 */ 36.97/11.38 public interface RandomAccess { 36.97/11.38 } 36.97/11.38 36.97/11.38 36.97/11.38 package javaUtilEx; 36.97/11.38 36.97/11.38 public class Random { 36.97/11.38 static String[] args; 36.97/11.38 static int index = 0; 36.97/11.38 36.97/11.38 public static int random() { 36.97/11.38 String string = args[index]; 36.97/11.38 index++; 36.97/11.38 return string.length(); 36.97/11.38 } 36.97/11.38 } 36.97/11.38 36.97/11.38 36.97/11.38 /* 36.97/11.38 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 36.97/11.38 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 36.97/11.38 * 36.97/11.38 * This code is free software; you can redistribute it and/or modify it 36.97/11.38 * under the terms of the GNU General Public License version 2 only, as 36.97/11.38 * published by the Free Software Foundation. Sun designates this 36.97/11.38 * particular file as subject to the "Classpath" exception as provided 36.97/11.38 * by Sun in the LICENSE file that accompanied this code. 36.97/11.38 * 36.97/11.38 * This code is distributed in the hope that it will be useful, but WITHOUT 36.97/11.38 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 36.97/11.38 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 36.97/11.38 * version 2 for more details (a copy is included in the LICENSE file that 36.97/11.38 * accompanied this code). 36.97/11.38 * 36.97/11.38 * You should have received a copy of the GNU General Public License version 36.97/11.38 * 2 along with this work; if not, write to the Free Software Foundation, 36.97/11.38 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 36.97/11.38 * 36.97/11.38 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 36.97/11.38 * CA 95054 USA or visit www.sun.com if you need additional information or 36.97/11.38 * have any questions. 36.97/11.38 */ 36.97/11.38 36.97/11.38 package javaUtilEx; 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Thrown to indicate that the requested operation is not supported.

36.97/11.38 * 36.97/11.38 * This class is a member of the 36.97/11.38 * 36.97/11.38 * Java Collections Framework. 36.97/11.38 * 36.97/11.38 * @author Josh Bloch 36.97/11.38 * @since 1.2 36.97/11.38 */ 36.97/11.38 public class UnsupportedOperationException extends RuntimeException { 36.97/11.38 /** 36.97/11.38 * Constructs an UnsupportedOperationException with no detail message. 36.97/11.38 */ 36.97/11.38 public UnsupportedOperationException() { 36.97/11.38 } 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Constructs an UnsupportedOperationException with the specified 36.97/11.38 * detail message. 36.97/11.38 * 36.97/11.38 * @param message the detail message 36.97/11.38 */ 36.97/11.38 public UnsupportedOperationException(String message) { 36.97/11.38 super(message); 36.97/11.38 } 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Constructs a new exception with the specified detail message and 36.97/11.38 * cause. 36.97/11.38 * 36.97/11.38 *

Note that the detail message associated with cause is 36.97/11.38 * not automatically incorporated in this exception's detail 36.97/11.38 * message. 36.97/11.38 * 36.97/11.38 * @param message the detail message (which is saved for later retrieval 36.97/11.38 * by the {@link Throwable#getMessage()} method). 36.97/11.38 * @param cause the cause (which is saved for later retrieval by the 36.97/11.38 * {@link Throwable#getCause()} method). (A null value 36.97/11.38 * is permitted, and indicates that the cause is nonexistent or 36.97/11.38 * unknown.) 36.97/11.38 * @since 1.5 36.97/11.38 */ 36.97/11.38 public UnsupportedOperationException(String message, Throwable cause) { 36.97/11.38 super(message, cause); 36.97/11.38 } 36.97/11.38 36.97/11.38 /** 36.97/11.38 * Constructs a new exception with the specified cause and a detail 36.97/11.38 * message of (cause==null ? null : cause.toString()) (which 36.97/11.38 * typically contains the class and detail message of cause). 36.97/11.38 * This constructor is useful for exceptions that are little more than 36.97/11.38 * wrappers for other throwables (for example, {@link 36.97/11.38 * java.security.PrivilegedActionException}). 36.97/11.38 * 36.97/11.38 * @param cause the cause (which is saved for later retrieval by the 36.97/11.38 * {@link Throwable#getCause()} method). (A null value is 36.97/11.38 * permitted, and indicates that the cause is nonexistent or 36.97/11.38 * unknown.) 36.97/11.38 * @since 1.5 36.97/11.38 */ 36.97/11.38 public UnsupportedOperationException(Throwable cause) { 36.97/11.38 super(cause); 36.97/11.38 } 36.97/11.38 36.97/11.38 static final long serialVersionUID = -1242599979055084673L; 36.97/11.38 } 36.97/11.38 36.97/11.38 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (3) JBCToGraph (EQUIVALENT) 36.97/11.38 Constructed TerminationGraph. 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (4) 36.97/11.38 Obligation: 36.97/11.38 Termination Graph based on JBC Program: 36.97/11.38 javaUtilEx.juLinkedListCreateContains.main([Ljava/lang/String;)V: Graph of 1058 nodes with 8 SCCs. 36.97/11.38 36.97/11.38 36.97/11.38 36.97/11.38 javaUtilEx.juLinkedListCreateContains.createList(I)LjavaUtilEx/LinkedList;: Graph of 250 nodes with 1 SCC. 36.97/11.38 36.97/11.38 36.97/11.38 36.97/11.38 javaUtilEx.Content.equals(Ljava/lang/Object;)Z: Graph of 32 nodes with 0 SCCs. 36.97/11.38 36.97/11.38 36.97/11.38 36.97/11.38 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (5) TerminationGraphToSCCProof (SOUND) 36.97/11.38 Splitted TerminationGraph to 9 SCCss. 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (6) 36.97/11.38 Complex Obligation (AND) 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (7) 36.97/11.38 Obligation: 36.97/11.38 SCC of termination graph based on JBC Program. 36.97/11.38 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateContains.createList(I)LjavaUtilEx/LinkedList; 36.97/11.38 SCC calls the following helper methods: 36.97/11.38 Performed SCC analyses: 36.97/11.38 *Used field analysis yielded the following read fields: 36.97/11.38 *java.lang.String: [count] 36.97/11.38 *javaUtilEx.LinkedList: [header, size] 36.97/11.38 *javaUtilEx.LinkedList$Entry: [previous, next] 36.97/11.38 *javaUtilEx.AbstractList: [modCount] 36.97/11.38 *Marker field analysis yielded the following relations that could be markers: 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (8) SCCToIRSProof (SOUND) 36.97/11.38 Transformed FIGraph SCCs to intTRSs. Log: 36.97/11.38 Generated rules. Obtained 118 IRulesP rules: 36.97/11.38 f7280_0_createList_LE(EOS(STATIC_7280(java.lang.Object(o11756sub), i4145)), i4164, i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7288_0_createList_LE(EOS(STATIC_7288(java.lang.Object(o11756sub), i4145)), i4164, i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7288_0_createList_LE(EOS(STATIC_7288(java.lang.Object(o11756sub), i4145)), i4164, i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7296_0_createList_Load(EOS(STATIC_7296(java.lang.Object(o11756sub), i4145)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: i4164 > 0 36.97/11.38 f7296_0_createList_Load(EOS(STATIC_7296(java.lang.Object(o11756sub), i4145)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7305_0_createList_New(EOS(STATIC_7305(java.lang.Object(o11756sub), i4145)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7305_0_createList_New(EOS(STATIC_7305(java.lang.Object(o11756sub), i4145)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7313_0_createList_Duplicate(EOS(STATIC_7313(java.lang.Object(o11756sub), i4145)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7313_0_createList_Duplicate(EOS(STATIC_7313(java.lang.Object(o11756sub), i4145)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7320_0_createList_InvokeMethod(EOS(STATIC_7320(java.lang.Object(o11756sub), i4145)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7320_0_createList_InvokeMethod(EOS(STATIC_7320(java.lang.Object(o11756sub), i4145)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7328_0_random_FieldAccess(EOS(STATIC_7328(java.lang.Object(o11756sub), i4145)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7328_0_random_FieldAccess(EOS(STATIC_7328(java.lang.Object(o11756sub), i4145)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7338_0_random_FieldAccess(EOS(STATIC_7338(java.lang.Object(o11756sub), i4145)), i4164, java.lang.Object(o11756sub), o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7338_0_random_FieldAccess(EOS(STATIC_7338(java.lang.Object(o11756sub), i4145)), i4164, java.lang.Object(o11756sub), o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7346_0_random_ArrayAccess(EOS(STATIC_7346(java.lang.Object(o11756sub), i4145)), i4164, java.lang.Object(o11756sub), i4145, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7346_0_random_ArrayAccess(EOS(STATIC_7346(java.lang.Object(ARRAY(i4196)), i4145)), i4164, java.lang.Object(ARRAY(i4196)), i4145, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7351_0_random_ArrayAccess(EOS(STATIC_7351(java.lang.Object(ARRAY(i4196)), i4145)), i4164, java.lang.Object(ARRAY(i4196)), i4145, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: i4196 >= 0 36.97/11.38 f7351_0_random_ArrayAccess(EOS(STATIC_7351(java.lang.Object(ARRAY(i4196)), i4201)), i4164, java.lang.Object(ARRAY(i4196)), i4201, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7358_0_random_ArrayAccess(EOS(STATIC_7358(java.lang.Object(ARRAY(i4196)), i4201)), i4164, java.lang.Object(ARRAY(i4196)), i4201, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7358_0_random_ArrayAccess(EOS(STATIC_7358(java.lang.Object(ARRAY(i4196)), i4201)), i4164, java.lang.Object(ARRAY(i4196)), i4201, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7366_0_random_ArrayAccess(EOS(STATIC_7366(java.lang.Object(ARRAY(i4196)), i4201)), i4164, java.lang.Object(ARRAY(i4196)), i4201, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7366_0_random_ArrayAccess(EOS(STATIC_7366(java.lang.Object(ARRAY(i4196)), i4201)), i4164, java.lang.Object(ARRAY(i4196)), i4201, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7374_0_random_Store(EOS(STATIC_7374(java.lang.Object(ARRAY(i4196)), i4201)), i4164, o11997, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: i4201 < i4196 36.97/11.38 f7374_0_random_Store(EOS(STATIC_7374(java.lang.Object(ARRAY(i4196)), i4201)), i4164, o11997, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7384_0_random_FieldAccess(EOS(STATIC_7384(java.lang.Object(ARRAY(i4196)), i4201)), i4164, o11997, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7384_0_random_FieldAccess(EOS(STATIC_7384(java.lang.Object(ARRAY(i4196)), i4201)), i4164, o11997, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7393_0_random_ConstantStackPush(EOS(STATIC_7393(java.lang.Object(ARRAY(i4196)), i4201)), i4164, o11997, i4201, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7393_0_random_ConstantStackPush(EOS(STATIC_7393(java.lang.Object(ARRAY(i4196)), i4201)), i4164, o11997, i4201, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7403_0_random_IntArithmetic(EOS(STATIC_7403(java.lang.Object(ARRAY(i4196)), i4201)), i4164, o11997, i4201, 1, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7403_0_random_IntArithmetic(EOS(STATIC_7403(java.lang.Object(ARRAY(i4196)), i4201)), i4164, o11997, i4201, matching1, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7412_0_random_FieldAccess(EOS(STATIC_7412(java.lang.Object(ARRAY(i4196)), i4201)), i4164, o11997, i4201 + 1, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: i4201 >= 0 && matching1 = 1 36.97/11.38 f7412_0_random_FieldAccess(EOS(STATIC_7412(java.lang.Object(ARRAY(i4196)), i4201)), i4164, o11997, i4260, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7419_0_random_Load(EOS(STATIC_7419(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11997, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7419_0_random_Load(EOS(STATIC_7419(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11997, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7426_0_random_InvokeMethod(EOS(STATIC_7426(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11997, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7426_0_random_InvokeMethod(EOS(STATIC_7426(java.lang.Object(ARRAY(i4196)), i4260)), i4164, java.lang.Object(o12379sub), o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7436_0_random_InvokeMethod(EOS(STATIC_7436(java.lang.Object(ARRAY(i4196)), i4260)), i4164, java.lang.Object(o12379sub), o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7436_0_random_InvokeMethod(EOS(STATIC_7436(java.lang.Object(ARRAY(i4196)), i4260)), i4164, java.lang.Object(o12390sub), o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7447_0_random_InvokeMethod(EOS(STATIC_7447(java.lang.Object(ARRAY(i4196)), i4260)), i4164, java.lang.Object(o12390sub), o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7447_0_random_InvokeMethod(EOS(STATIC_7447(java.lang.Object(ARRAY(i4196)), i4260)), i4164, java.lang.Object(o12390sub), o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7458_0_length_Load(EOS(STATIC_7458(java.lang.Object(ARRAY(i4196)), i4260)), i4164, java.lang.Object(o12390sub), o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7458_0_length_Load(EOS(STATIC_7458(java.lang.Object(ARRAY(i4196)), i4260)), i4164, java.lang.Object(o12390sub), o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7485_0_length_FieldAccess(EOS(STATIC_7485(java.lang.Object(ARRAY(i4196)), i4260)), i4164, java.lang.Object(o12390sub), o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7485_0_length_FieldAccess(EOS(STATIC_7485(java.lang.Object(ARRAY(i4196)), i4260)), i4164, java.lang.Object(java.lang.String(EOC, i4312)), o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7501_0_length_FieldAccess(EOS(STATIC_7501(java.lang.Object(ARRAY(i4196)), i4260)), i4164, java.lang.Object(java.lang.String(EOC, i4312)), o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7501_0_length_FieldAccess(EOS(STATIC_7501(java.lang.Object(ARRAY(i4196)), i4260)), i4164, java.lang.Object(java.lang.String(EOC, i4312)), o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7515_0_length_Return(EOS(STATIC_7515(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7515_0_length_Return(EOS(STATIC_7515(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7528_0_random_Return(EOS(STATIC_7528(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7528_0_random_Return(EOS(STATIC_7528(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7540_0_createList_InvokeMethod(EOS(STATIC_7540(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7540_0_createList_InvokeMethod(EOS(STATIC_7540(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7551_0__init__Load(EOS(STATIC_7551(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7551_0__init__Load(EOS(STATIC_7551(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7572_0__init__InvokeMethod(EOS(STATIC_7572(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7572_0__init__InvokeMethod(EOS(STATIC_7572(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7586_0__init__Load(EOS(STATIC_7586(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7586_0__init__Load(EOS(STATIC_7586(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7597_0__init__Load(EOS(STATIC_7597(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7597_0__init__Load(EOS(STATIC_7597(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7612_0__init__FieldAccess(EOS(STATIC_7612(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7612_0__init__FieldAccess(EOS(STATIC_7612(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7630_0__init__Return(EOS(STATIC_7630(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7630_0__init__Return(EOS(STATIC_7630(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7650_0_createList_InvokeMethod(EOS(STATIC_7650(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7650_0_createList_InvokeMethod(EOS(STATIC_7650(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7672_0_addLast_Load(EOS(STATIC_7672(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7672_0_addLast_Load(EOS(STATIC_7672(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7711_0_addLast_Load(EOS(STATIC_7711(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7711_0_addLast_Load(EOS(STATIC_7711(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7737_0_addLast_Load(EOS(STATIC_7737(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7737_0_addLast_Load(EOS(STATIC_7737(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7753_0_addLast_FieldAccess(EOS(STATIC_7753(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7753_0_addLast_FieldAccess(EOS(STATIC_7753(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7767_0_addLast_InvokeMethod(EOS(STATIC_7767(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7767_0_addLast_InvokeMethod(EOS(STATIC_7767(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7780_0_addBefore_New(EOS(STATIC_7780(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7780_0_addBefore_New(EOS(STATIC_7780(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7807_0_addBefore_Duplicate(EOS(STATIC_7807(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7807_0_addBefore_Duplicate(EOS(STATIC_7807(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7825_0_addBefore_Load(EOS(STATIC_7825(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7825_0_addBefore_Load(EOS(STATIC_7825(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7842_0_addBefore_Load(EOS(STATIC_7842(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7842_0_addBefore_Load(EOS(STATIC_7842(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7855_0_addBefore_Load(EOS(STATIC_7855(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7855_0_addBefore_Load(EOS(STATIC_7855(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7861_0_addBefore_FieldAccess(EOS(STATIC_7861(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7861_0_addBefore_FieldAccess(EOS(STATIC_7861(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7867_0_addBefore_FieldAccess(EOS(STATIC_7867(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: o11761[LinkedList$Entry.next]o11761 > 0 && o11761[LinkedList$Entry.next]o11759 > 0 && o11761[LinkedList$Entry.previous]o11759 > 0 && o11761[LinkedList$Entry.previous]o11761 > 0 36.97/11.38 f7867_0_addBefore_FieldAccess(EOS(STATIC_7867(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7878_0_addBefore_FieldAccess(EOS(STATIC_7878(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: o11760[LinkedList$Entry.previous]o11760 > 0 && o11760[LinkedList$Entry.previous]o11759 > 0 36.97/11.38 f7878_0_addBefore_FieldAccess(EOS(STATIC_7878(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7889_0_addBefore_FieldAccess(EOS(STATIC_7889(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: o11762[LinkedList$Entry.previous]o11759 > 0 && o11762[LinkedList$Entry.previous]o11762 > 0 36.97/11.38 f7889_0_addBefore_FieldAccess(EOS(STATIC_7889(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7898_0_addBefore_InvokeMethod(EOS(STATIC_7898(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7898_0_addBefore_InvokeMethod(EOS(STATIC_7898(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7907_0__init__Load(EOS(STATIC_7907(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7907_0__init__Load(EOS(STATIC_7907(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7931_0__init__InvokeMethod(EOS(STATIC_7931(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7931_0__init__InvokeMethod(EOS(STATIC_7931(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7950_0__init__Load(EOS(STATIC_7950(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7950_0__init__Load(EOS(STATIC_7950(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7972_0__init__Load(EOS(STATIC_7972(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7972_0__init__Load(EOS(STATIC_7972(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7992_0__init__FieldAccess(EOS(STATIC_7992(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f7992_0__init__FieldAccess(EOS(STATIC_7992(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f8007_0__init__Load(EOS(STATIC_8007(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8007_0__init__Load(EOS(STATIC_8007(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f8022_0__init__Load(EOS(STATIC_8022(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8022_0__init__Load(EOS(STATIC_8022(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f8034_0__init__FieldAccess(EOS(STATIC_8034(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8034_0__init__FieldAccess(EOS(STATIC_8034(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f8074_0__init__Load(EOS(STATIC_8074(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8074_0__init__Load(EOS(STATIC_8074(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f8092_0__init__Load(EOS(STATIC_8092(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8092_0__init__Load(EOS(STATIC_8092(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f8113_0__init__FieldAccess(EOS(STATIC_8113(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8113_0__init__FieldAccess(EOS(STATIC_8113(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f8134_0__init__Return(EOS(STATIC_8134(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8134_0__init__Return(EOS(STATIC_8134(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f8156_0_addBefore_Store(EOS(STATIC_8156(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8156_0_addBefore_Store(EOS(STATIC_8156(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f8180_0_addBefore_Load(EOS(STATIC_8180(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8180_0_addBefore_Load(EOS(STATIC_8180(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f8202_0_addBefore_FieldAccess(EOS(STATIC_8202(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8202_0_addBefore_FieldAccess(EOS(STATIC_8202(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f8223_0_addBefore_Load(EOS(STATIC_8223(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8223_0_addBefore_Load(EOS(STATIC_8223(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f8240_0_addBefore_FieldAccess(EOS(STATIC_8240(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8240_0_addBefore_FieldAccess(EOS(STATIC_8240(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f8257_0_addBefore_FieldAccess(EOS(STATIC_8257(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: o11761[LinkedList$Entry.next]o11761 > 0 && o11762[LinkedList$Entry.previous]o11761 > 0 && o11761[LinkedList$Entry.previous]o11761 > 0 && o11761[LinkedList$Entry.next]o11762 > 0 && o11761[LinkedList$Entry.previous]o11762 > 0 && o11762[LinkedList$Entry.previous]o11762 > 0 36.97/11.38 f8240_0_addBefore_FieldAccess(EOS(STATIC_8240(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.next]o11760, o16819[LinkedList$Entry.previous]o11760, o16819[LinkedList$Entry.previous]o11760, o16819[LinkedList$Entry.next]o16819, o16819[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.next]o16819, o16819[LinkedList$Entry.previous]o16819, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8258_0_addBefore_FieldAccess(EOS(STATIC_8258(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8257_0_addBefore_FieldAccess(EOS(STATIC_8257(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8267_0_addBefore_FieldAccess(EOS(STATIC_8267(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: o11762[LinkedList$Entry.previous]o11760 > 0 && o11760[LinkedList$Entry.previous]o11760 > 0 && o11760[LinkedList$Entry.previous]o11762 > 0 && o11762[LinkedList$Entry.previous]o11762 > 0 36.97/11.38 f8267_0_addBefore_FieldAccess(EOS(STATIC_8267(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8280_0_addBefore_Load(EOS(STATIC_8280(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8280_0_addBefore_Load(EOS(STATIC_8280(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8290_0_addBefore_FieldAccess(EOS(STATIC_8290(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8290_0_addBefore_FieldAccess(EOS(STATIC_8290(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8299_0_addBefore_Load(EOS(STATIC_8299(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8299_0_addBefore_Load(EOS(STATIC_8299(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8310_0_addBefore_FieldAccess(EOS(STATIC_8310(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8310_0_addBefore_FieldAccess(EOS(STATIC_8310(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8323_0_addBefore_Load(EOS(STATIC_8323(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8323_0_addBefore_Load(EOS(STATIC_8323(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8334_0_addBefore_Duplicate(EOS(STATIC_8334(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8334_0_addBefore_Duplicate(EOS(STATIC_8334(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8346_0_addBefore_FieldAccess(EOS(STATIC_8346(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8346_0_addBefore_FieldAccess(EOS(STATIC_8346(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8359_0_addBefore_ConstantStackPush(EOS(STATIC_8359(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8359_0_addBefore_ConstantStackPush(EOS(STATIC_8359(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8374_0_addBefore_IntArithmetic(EOS(STATIC_8374(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8374_0_addBefore_IntArithmetic(EOS(STATIC_8374(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8391_0_addBefore_FieldAccess(EOS(STATIC_8391(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8391_0_addBefore_FieldAccess(EOS(STATIC_8391(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8408_0_addBefore_Load(EOS(STATIC_8408(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8408_0_addBefore_Load(EOS(STATIC_8408(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8418_0_addBefore_Duplicate(EOS(STATIC_8418(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8418_0_addBefore_Duplicate(EOS(STATIC_8418(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8445_0_addBefore_FieldAccess(EOS(STATIC_8445(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8445_0_addBefore_FieldAccess(EOS(STATIC_8445(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8460_0_addBefore_ConstantStackPush(EOS(STATIC_8460(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8460_0_addBefore_ConstantStackPush(EOS(STATIC_8460(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8475_0_addBefore_IntArithmetic(EOS(STATIC_8475(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8475_0_addBefore_IntArithmetic(EOS(STATIC_8475(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8492_0_addBefore_FieldAccess(EOS(STATIC_8492(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8492_0_addBefore_FieldAccess(EOS(STATIC_8492(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8503_0_addBefore_Load(EOS(STATIC_8503(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8503_0_addBefore_Load(EOS(STATIC_8503(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8517_0_addBefore_Return(EOS(STATIC_8517(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8517_0_addBefore_Return(EOS(STATIC_8517(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8539_0_addLast_StackPop(EOS(STATIC_8539(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8539_0_addLast_StackPop(EOS(STATIC_8539(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8557_0_addLast_Return(EOS(STATIC_8557(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8557_0_addLast_Return(EOS(STATIC_8557(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8575_0_createList_Inc(EOS(STATIC_8575(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8575_0_createList_Inc(EOS(STATIC_8575(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8590_0_createList_JMP(EOS(STATIC_8590(java.lang.Object(ARRAY(i4196)), i4260)), i4164 + -1, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8590_0_createList_JMP(EOS(STATIC_8590(java.lang.Object(ARRAY(i4196)), i4260)), i6246, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f8604_0_createList_Load(EOS(STATIC_8604(java.lang.Object(ARRAY(i4196)), i4260)), i6246, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8604_0_createList_Load(EOS(STATIC_8604(java.lang.Object(ARRAY(i4196)), i4260)), i6246, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762, o11761[LinkedList$Entry.previous]o11762) -> f7275_0_createList_Load(EOS(STATIC_7275(java.lang.Object(ARRAY(i4196)), i4260)), i6246, o11761[LinkedList$Entry.next]o11760, o13487[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o13487[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o13487[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o13487, o11761[LinkedList$Entry.previous]o13487, o11760[LinkedList$Entry.previous]o13487, o13487[LinkedList$Entry.previous]o13487) :|: TRUE 36.97/11.38 f7275_0_createList_Load(EOS(STATIC_7275(java.lang.Object(o11756sub), i4145)), i4147, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) -> f7280_0_createList_LE(EOS(STATIC_7280(java.lang.Object(o11756sub), i4145)), i4147, i4147, o11761[LinkedList$Entry.next]o11760, o11762[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.previous]o11760, o11761[LinkedList$Entry.next]o11761, o11761[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o11762[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o11761, o11762[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.previous]o11759, o11761[LinkedList$Entry.previous]o11761, o11761[LinkedList$Entry.next]o11762, o11761[LinkedList$Entry.previous]o11762, o11760[LinkedList$Entry.previous]o11762, o11762[LinkedList$Entry.previous]o11762) :|: TRUE 36.97/11.38 f8258_0_addBefore_FieldAccess(EOS(STATIC_8258(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8269_0_addBefore_FieldAccess(EOS(STATIC_8269(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: o16819[LinkedList$Entry.previous]o11760 > 0 && o11760[LinkedList$Entry.previous]o11760 > 0 && o11760[LinkedList$Entry.previous]o16819 > 0 && o16819[LinkedList$Entry.previous]o16819 > 0 36.97/11.38 f8269_0_addBefore_FieldAccess(EOS(STATIC_8269(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8281_0_addBefore_Load(EOS(STATIC_8281(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8281_0_addBefore_Load(EOS(STATIC_8281(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8291_0_addBefore_FieldAccess(EOS(STATIC_8291(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8291_0_addBefore_FieldAccess(EOS(STATIC_8291(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8300_0_addBefore_Load(EOS(STATIC_8300(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8300_0_addBefore_Load(EOS(STATIC_8300(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8311_0_addBefore_FieldAccess(EOS(STATIC_8311(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8311_0_addBefore_FieldAccess(EOS(STATIC_8311(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8324_0_addBefore_Load(EOS(STATIC_8324(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8324_0_addBefore_Load(EOS(STATIC_8324(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8335_0_addBefore_Duplicate(EOS(STATIC_8335(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8335_0_addBefore_Duplicate(EOS(STATIC_8335(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8347_0_addBefore_FieldAccess(EOS(STATIC_8347(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8347_0_addBefore_FieldAccess(EOS(STATIC_8347(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8360_0_addBefore_ConstantStackPush(EOS(STATIC_8360(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8360_0_addBefore_ConstantStackPush(EOS(STATIC_8360(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8375_0_addBefore_IntArithmetic(EOS(STATIC_8375(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8375_0_addBefore_IntArithmetic(EOS(STATIC_8375(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8392_0_addBefore_FieldAccess(EOS(STATIC_8392(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8392_0_addBefore_FieldAccess(EOS(STATIC_8392(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8409_0_addBefore_Load(EOS(STATIC_8409(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8409_0_addBefore_Load(EOS(STATIC_8409(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8419_0_addBefore_Duplicate(EOS(STATIC_8419(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8419_0_addBefore_Duplicate(EOS(STATIC_8419(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8446_0_addBefore_FieldAccess(EOS(STATIC_8446(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8446_0_addBefore_FieldAccess(EOS(STATIC_8446(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8461_0_addBefore_ConstantStackPush(EOS(STATIC_8461(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8461_0_addBefore_ConstantStackPush(EOS(STATIC_8461(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8476_0_addBefore_IntArithmetic(EOS(STATIC_8476(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8476_0_addBefore_IntArithmetic(EOS(STATIC_8476(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8493_0_addBefore_FieldAccess(EOS(STATIC_8493(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8493_0_addBefore_FieldAccess(EOS(STATIC_8493(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8504_0_addBefore_Load(EOS(STATIC_8504(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8504_0_addBefore_Load(EOS(STATIC_8504(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8518_0_addBefore_Return(EOS(STATIC_8518(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8518_0_addBefore_Return(EOS(STATIC_8518(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8540_0_addLast_StackPop(EOS(STATIC_8540(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8540_0_addLast_StackPop(EOS(STATIC_8540(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8558_0_addLast_Return(EOS(STATIC_8558(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8558_0_addLast_Return(EOS(STATIC_8558(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8576_0_createList_Inc(EOS(STATIC_8576(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8576_0_createList_Inc(EOS(STATIC_8576(java.lang.Object(ARRAY(i4196)), i4260)), i4164, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8591_0_createList_JMP(EOS(STATIC_8591(java.lang.Object(ARRAY(i4196)), i4260)), i4164 + -1, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8591_0_createList_JMP(EOS(STATIC_8591(java.lang.Object(ARRAY(i4196)), i4260)), i6247, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f8605_0_createList_Load(EOS(STATIC_8605(java.lang.Object(ARRAY(i4196)), i4260)), i6247, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) :|: TRUE 36.97/11.38 f8605_0_createList_Load(EOS(STATIC_8605(java.lang.Object(ARRAY(i4196)), i4260)), i6247, o16819[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o16819) -> f7275_0_createList_Load(EOS(STATIC_7275(java.lang.Object(ARRAY(i4196)), i4260)), i6247, o16819[LinkedList$Entry.next]o11760, o13487[LinkedList$Entry.previous]o11760, o16819[LinkedList$Entry.previous]o11760, o16819[LinkedList$Entry.next]o16819, o16819[LinkedList$Entry.next]o11759, o11760[LinkedList$Entry.previous]o11760, o11760[LinkedList$Entry.previous]o11759, o13487[LinkedList$Entry.previous]o11759, o11760[LinkedList$Entry.previous]o16819, o13487[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.previous]o11759, o16819[LinkedList$Entry.previous]o16819, o16819[LinkedList$Entry.next]o13487, o16819[LinkedList$Entry.previous]o13487, o11760[LinkedList$Entry.previous]o13487, o13487[LinkedList$Entry.previous]o13487) :|: o16819[LinkedList$Entry.next]o16819 = 4 && o13487[LinkedList$Entry.previous]o16819 = 1 && o16819[LinkedList$Entry.next]o13487 = 1 36.97/11.38 Combined rules. Obtained 2 IRulesP rules: 36.97/11.38 f7280_0_createList_LE(EOS(STATIC_7280(java.lang.Object(ARRAY(i4196:0)), i4145:0)), i4164:0, i4164:0, o11761[LinkedList$Entry.next]o11760:0, o11762[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.next]o11761:0, o11761[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o11762[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, o11762[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.previous]o11759:0, o11761[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.next]o11762:0, o11761[LinkedList$Entry.previous]o11762:0, o11760[LinkedList$Entry.previous]o11762:0, o11762[LinkedList$Entry.previous]o11762:0) -> f7280_0_createList_LE(EOS(STATIC_7280(java.lang.Object(ARRAY(i4196:0)), i4145:0 + 1)), i4164:0 - 1, i4164:0 - 1, o11761[LinkedList$Entry.next]o11760:0, o13487[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.next]o11761:0, o11761[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o13487[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, o13487[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.previous]o11759:0, o11761[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.next]o13487:0, o11761[LinkedList$Entry.previous]o13487:0, o11760[LinkedList$Entry.previous]o13487:0, o13487[LinkedList$Entry.previous]o13487:0) :|: i4164:0 > 0 && i4196:0 > -1 && i4196:0 > i4145:0 && i4145:0 > -1 && o11761[LinkedList$Entry.next]o11759:0 > 0 && o11761[LinkedList$Entry.next]o11761:0 > 0 && o11761[LinkedList$Entry.previous]o11759:0 > 0 && o11761[LinkedList$Entry.previous]o11761:0 > 0 && o11760[LinkedList$Entry.previous]o11759:0 > 0 && o11760[LinkedList$Entry.previous]o11760:0 > 0 && o11762[LinkedList$Entry.previous]o11762:0 > 0 && o11762[LinkedList$Entry.previous]o11759:0 > 0 && o11762[LinkedList$Entry.previous]o11761:0 > 0 && o11761[LinkedList$Entry.next]o11762:0 > 0 && o11762[LinkedList$Entry.previous]o11760:0 > 0 && o11761[LinkedList$Entry.previous]o11762:0 > 0 && o11760[LinkedList$Entry.previous]o11762:0 > 0 36.97/11.38 f7280_0_createList_LE(EOS(STATIC_7280(java.lang.Object(ARRAY(i4196:0)), i4145:0)), i4164:0, i4164:0, o11761[LinkedList$Entry.next]o11760:0, o11762[LinkedList$Entry.previous]o11760:0, o11762[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.next]o11761:0, o11761[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o11762[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, o11762[LinkedList$Entry.previous]o11761:0, o11762[LinkedList$Entry.previous]o11759:0, o11762[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.next]o11761:0, o11762[LinkedList$Entry.previous]o11761:0, o11760[LinkedList$Entry.previous]o11761:0, o11762[LinkedList$Entry.previous]o11761:0) -> f7280_0_createList_LE(EOS(STATIC_7280(java.lang.Object(ARRAY(i4196:0)), i4145:0 + 1)), i4164:0 - 1, i4164:0 - 1, o16819[LinkedList$Entry.next]o11760:0, o13487[LinkedList$Entry.previous]o11760:0, o11762[LinkedList$Entry.previous]o11760:0, 4, o16819[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o13487[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, 1, o11762[LinkedList$Entry.previous]o11759:0, o11762[LinkedList$Entry.previous]o11761:0, 1, o16819[LinkedList$Entry.previous]o13487:0, o11760[LinkedList$Entry.previous]o13487:0, o13487[LinkedList$Entry.previous]o13487:0) :|: i4164:0 > 0 && i4196:0 > -1 && i4196:0 > i4145:0 && i4145:0 > -1 && o11761[LinkedList$Entry.next]o11759:0 > 0 && o11761[LinkedList$Entry.next]o11761:0 > 0 && o11762[LinkedList$Entry.previous]o11759:0 > 0 && o11762[LinkedList$Entry.previous]o11761:0 > 0 && o11760[LinkedList$Entry.previous]o11759:0 > 0 && o11760[LinkedList$Entry.previous]o11760:0 > 0 && o11762[LinkedList$Entry.previous]o11760:0 > 0 && o11760[LinkedList$Entry.previous]o11761:0 > 0 36.97/11.38 Filtered duplicate arguments: 36.97/11.38 f7280_0_createList_LE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) -> f7280_0_createList_LE(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) 36.97/11.38 Filtered unneeded arguments: 36.97/11.38 f7280_0_createList_LE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) -> f7280_0_createList_LE(x1, x2, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) 36.97/11.38 Finished conversion. Obtained 2 rules.P rules: 36.97/11.38 f7280_0_createList_LE(i4164:0, o11762[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.next]o11761:0, o11761[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o11762[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, o11762[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.previous]o11759:0, o11761[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.next]o11762:0, o11761[LinkedList$Entry.previous]o11762:0, o11760[LinkedList$Entry.previous]o11762:0, o11762[LinkedList$Entry.previous]o11762:0, i4196:0, i4145:0) -> f7280_0_createList_LE(i4164:0 - 1, o13487[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.next]o11761:0, o11761[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o13487[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, o13487[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.previous]o11759:0, o11761[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.next]o13487:0, o11761[LinkedList$Entry.previous]o13487:0, o11760[LinkedList$Entry.previous]o13487:0, o13487[LinkedList$Entry.previous]o13487:0, i4196:0, i4145:0 + 1) :|: i4196:0 > -1 && i4164:0 > 0 && i4196:0 > i4145:0 && i4145:0 > -1 && o11761[LinkedList$Entry.next]o11759:0 > 0 && o11761[LinkedList$Entry.next]o11761:0 > 0 && o11761[LinkedList$Entry.previous]o11759:0 > 0 && o11761[LinkedList$Entry.previous]o11761:0 > 0 && o11760[LinkedList$Entry.previous]o11759:0 > 0 && o11760[LinkedList$Entry.previous]o11760:0 > 0 && o11762[LinkedList$Entry.previous]o11762:0 > 0 && o11762[LinkedList$Entry.previous]o11759:0 > 0 && o11762[LinkedList$Entry.previous]o11761:0 > 0 && o11761[LinkedList$Entry.next]o11762:0 > 0 && o11762[LinkedList$Entry.previous]o11760:0 > 0 && o11760[LinkedList$Entry.previous]o11762:0 > 0 && o11761[LinkedList$Entry.previous]o11762:0 > 0 36.97/11.38 f7280_0_createList_LE(i4164:0, o11762[LinkedList$Entry.previous]o11760:0, o11762[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.next]o11761:0, o11761[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o11762[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, o11762[LinkedList$Entry.previous]o11761:0, o11762[LinkedList$Entry.previous]o11759:0, o11762[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.next]o11761:0, o11762[LinkedList$Entry.previous]o11761:0, o11760[LinkedList$Entry.previous]o11761:0, o11762[LinkedList$Entry.previous]o11761:0, i4196:0, i4145:0) -> f7280_0_createList_LE(i4164:0 - 1, o13487[LinkedList$Entry.previous]o11760:0, o11762[LinkedList$Entry.previous]o11760:0, 4, o16819[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o13487[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, 1, o11762[LinkedList$Entry.previous]o11759:0, o11762[LinkedList$Entry.previous]o11761:0, 1, o16819[LinkedList$Entry.previous]o13487:0, o11760[LinkedList$Entry.previous]o13487:0, o13487[LinkedList$Entry.previous]o13487:0, i4196:0, i4145:0 + 1) :|: i4196:0 > -1 && i4164:0 > 0 && i4196:0 > i4145:0 && i4145:0 > -1 && o11761[LinkedList$Entry.next]o11759:0 > 0 && o11761[LinkedList$Entry.next]o11761:0 > 0 && o11762[LinkedList$Entry.previous]o11759:0 > 0 && o11762[LinkedList$Entry.previous]o11761:0 > 0 && o11760[LinkedList$Entry.previous]o11759:0 > 0 && o11760[LinkedList$Entry.previous]o11760:0 > 0 && o11760[LinkedList$Entry.previous]o11761:0 > 0 && o11762[LinkedList$Entry.previous]o11760:0 > 0 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (9) 36.97/11.38 Obligation: 36.97/11.38 Rules: 36.97/11.38 f7280_0_createList_LE(i4164:0, o11762[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.next]o11761:0, o11761[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o11762[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, o11762[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.previous]o11759:0, o11761[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.next]o11762:0, o11761[LinkedList$Entry.previous]o11762:0, o11760[LinkedList$Entry.previous]o11762:0, o11762[LinkedList$Entry.previous]o11762:0, i4196:0, i4145:0) -> f7280_0_createList_LE(i4164:0 - 1, o13487[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.next]o11761:0, o11761[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o13487[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, o13487[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.previous]o11759:0, o11761[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.next]o13487:0, o11761[LinkedList$Entry.previous]o13487:0, o11760[LinkedList$Entry.previous]o13487:0, o13487[LinkedList$Entry.previous]o13487:0, i4196:0, i4145:0 + 1) :|: i4196:0 > -1 && i4164:0 > 0 && i4196:0 > i4145:0 && i4145:0 > -1 && o11761[LinkedList$Entry.next]o11759:0 > 0 && o11761[LinkedList$Entry.next]o11761:0 > 0 && o11761[LinkedList$Entry.previous]o11759:0 > 0 && o11761[LinkedList$Entry.previous]o11761:0 > 0 && o11760[LinkedList$Entry.previous]o11759:0 > 0 && o11760[LinkedList$Entry.previous]o11760:0 > 0 && o11762[LinkedList$Entry.previous]o11762:0 > 0 && o11762[LinkedList$Entry.previous]o11759:0 > 0 && o11762[LinkedList$Entry.previous]o11761:0 > 0 && o11761[LinkedList$Entry.next]o11762:0 > 0 && o11762[LinkedList$Entry.previous]o11760:0 > 0 && o11760[LinkedList$Entry.previous]o11762:0 > 0 && o11761[LinkedList$Entry.previous]o11762:0 > 0 36.97/11.38 f7280_0_createList_LE(x, x1, x1, x2, x3, x4, x5, x6, x7, x8, x6, x8, x2, x8, x7, x8, x9, x10) -> f7280_0_createList_LE(x - 1, x11, x1, 4, x12, x4, x5, x13, x7, 1, x6, x8, 1, x14, x15, x16, x9, x10 + 1) :|: x9 > -1 && x > 0 && x9 > x10 && x10 > -1 && x3 > 0 && x2 > 0 && x6 > 0 && x8 > 0 && x5 > 0 && x4 > 0 && x7 > 0 && x1 > 0 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (10) IRSFormatTransformerProof (EQUIVALENT) 36.97/11.38 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (11) 36.97/11.38 Obligation: 36.97/11.38 Rules: 36.97/11.38 f7280_0_createList_LE(i4164:0, o11762[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.next]o11761:0, o11761[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o11762[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, o11762[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.previous]o11759:0, o11761[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.next]o11762:0, o11761[LinkedList$Entry.previous]o11762:0, o11760[LinkedList$Entry.previous]o11762:0, o11762[LinkedList$Entry.previous]o11762:0, i4196:0, i4145:0) -> f7280_0_createList_LE(arith, o13487[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.next]o11761:0, o11761[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o13487[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, o13487[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.previous]o11759:0, o11761[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.next]o13487:0, o11761[LinkedList$Entry.previous]o13487:0, o11760[LinkedList$Entry.previous]o13487:0, o13487[LinkedList$Entry.previous]o13487:0, i4196:0, arith1) :|: i4196:0 > -1 && i4164:0 > 0 && i4196:0 > i4145:0 && i4145:0 > -1 && o11761[LinkedList$Entry.next]o11759:0 > 0 && o11761[LinkedList$Entry.next]o11761:0 > 0 && o11761[LinkedList$Entry.previous]o11759:0 > 0 && o11761[LinkedList$Entry.previous]o11761:0 > 0 && o11760[LinkedList$Entry.previous]o11759:0 > 0 && o11760[LinkedList$Entry.previous]o11760:0 > 0 && o11762[LinkedList$Entry.previous]o11762:0 > 0 && o11762[LinkedList$Entry.previous]o11759:0 > 0 && o11762[LinkedList$Entry.previous]o11761:0 > 0 && o11761[LinkedList$Entry.next]o11762:0 > 0 && o11762[LinkedList$Entry.previous]o11760:0 > 0 && o11760[LinkedList$Entry.previous]o11762:0 > 0 && o11761[LinkedList$Entry.previous]o11762:0 > 0 && arith = i4164:0 - 1 && arith1 = i4145:0 + 1 36.97/11.38 f7280_0_createList_LE(x17, x18, x18, x19, x20, x21, x22, x23, x24, x25, x23, x25, x19, x25, x24, x25, x26, x27) -> f7280_0_createList_LE(x28, x29, x18, 4, x30, x21, x22, x31, x24, 1, x23, x25, 1, x32, x33, x34, x26, x35) :|: x26 > -1 && x17 > 0 && x26 > x27 && x27 > -1 && x20 > 0 && x19 > 0 && x23 > 0 && x25 > 0 && x22 > 0 && x21 > 0 && x24 > 0 && x18 > 0 && x28 = x17 - 1 && x35 = x27 + 1 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (12) IRSwTTerminationDigraphProof (EQUIVALENT) 36.97/11.38 Constructed termination digraph! 36.97/11.38 Nodes: 36.97/11.38 (1) f7280_0_createList_LE(i4164:0, o11762[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.next]o11761:0, o11761[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o11762[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, o11762[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.previous]o11759:0, o11761[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.next]o11762:0, o11761[LinkedList$Entry.previous]o11762:0, o11760[LinkedList$Entry.previous]o11762:0, o11762[LinkedList$Entry.previous]o11762:0, i4196:0, i4145:0) -> f7280_0_createList_LE(arith, o13487[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.next]o11761:0, o11761[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o13487[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, o13487[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.previous]o11759:0, o11761[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.next]o13487:0, o11761[LinkedList$Entry.previous]o13487:0, o11760[LinkedList$Entry.previous]o13487:0, o13487[LinkedList$Entry.previous]o13487:0, i4196:0, arith1) :|: i4196:0 > -1 && i4164:0 > 0 && i4196:0 > i4145:0 && i4145:0 > -1 && o11761[LinkedList$Entry.next]o11759:0 > 0 && o11761[LinkedList$Entry.next]o11761:0 > 0 && o11761[LinkedList$Entry.previous]o11759:0 > 0 && o11761[LinkedList$Entry.previous]o11761:0 > 0 && o11760[LinkedList$Entry.previous]o11759:0 > 0 && o11760[LinkedList$Entry.previous]o11760:0 > 0 && o11762[LinkedList$Entry.previous]o11762:0 > 0 && o11762[LinkedList$Entry.previous]o11759:0 > 0 && o11762[LinkedList$Entry.previous]o11761:0 > 0 && o11761[LinkedList$Entry.next]o11762:0 > 0 && o11762[LinkedList$Entry.previous]o11760:0 > 0 && o11760[LinkedList$Entry.previous]o11762:0 > 0 && o11761[LinkedList$Entry.previous]o11762:0 > 0 && arith = i4164:0 - 1 && arith1 = i4145:0 + 1 36.97/11.38 (2) f7280_0_createList_LE(x17, x18, x18, x19, x20, x21, x22, x23, x24, x25, x23, x25, x19, x25, x24, x25, x26, x27) -> f7280_0_createList_LE(x28, x29, x18, 4, x30, x21, x22, x31, x24, 1, x23, x25, 1, x32, x33, x34, x26, x35) :|: x26 > -1 && x17 > 0 && x26 > x27 && x27 > -1 && x20 > 0 && x19 > 0 && x23 > 0 && x25 > 0 && x22 > 0 && x21 > 0 && x24 > 0 && x18 > 0 && x28 = x17 - 1 && x35 = x27 + 1 36.97/11.38 36.97/11.38 Arcs: 36.97/11.38 (1) -> (1), (2) 36.97/11.38 (2) -> (1) 36.97/11.38 36.97/11.38 This digraph is fully evaluated! 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (13) 36.97/11.38 Obligation: 36.97/11.38 36.97/11.38 Termination digraph: 36.97/11.38 Nodes: 36.97/11.38 (1) f7280_0_createList_LE(i4164:0, o11762[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.next]o11761:0, o11761[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o11762[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, o11762[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.previous]o11759:0, o11761[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.next]o11762:0, o11761[LinkedList$Entry.previous]o11762:0, o11760[LinkedList$Entry.previous]o11762:0, o11762[LinkedList$Entry.previous]o11762:0, i4196:0, i4145:0) -> f7280_0_createList_LE(arith, o13487[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.previous]o11760:0, o11761[LinkedList$Entry.next]o11761:0, o11761[LinkedList$Entry.next]o11759:0, o11760[LinkedList$Entry.previous]o11760:0, o11760[LinkedList$Entry.previous]o11759:0, o13487[LinkedList$Entry.previous]o11759:0, o11760[LinkedList$Entry.previous]o11761:0, o13487[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.previous]o11759:0, o11761[LinkedList$Entry.previous]o11761:0, o11761[LinkedList$Entry.next]o13487:0, o11761[LinkedList$Entry.previous]o13487:0, o11760[LinkedList$Entry.previous]o13487:0, o13487[LinkedList$Entry.previous]o13487:0, i4196:0, arith1) :|: i4196:0 > -1 && i4164:0 > 0 && i4196:0 > i4145:0 && i4145:0 > -1 && o11761[LinkedList$Entry.next]o11759:0 > 0 && o11761[LinkedList$Entry.next]o11761:0 > 0 && o11761[LinkedList$Entry.previous]o11759:0 > 0 && o11761[LinkedList$Entry.previous]o11761:0 > 0 && o11760[LinkedList$Entry.previous]o11759:0 > 0 && o11760[LinkedList$Entry.previous]o11760:0 > 0 && o11762[LinkedList$Entry.previous]o11762:0 > 0 && o11762[LinkedList$Entry.previous]o11759:0 > 0 && o11762[LinkedList$Entry.previous]o11761:0 > 0 && o11761[LinkedList$Entry.next]o11762:0 > 0 && o11762[LinkedList$Entry.previous]o11760:0 > 0 && o11760[LinkedList$Entry.previous]o11762:0 > 0 && o11761[LinkedList$Entry.previous]o11762:0 > 0 && arith = i4164:0 - 1 && arith1 = i4145:0 + 1 36.97/11.38 (2) f7280_0_createList_LE(x17, x18, x18, x19, x20, x21, x22, x23, x24, x25, x23, x25, x19, x25, x24, x25, x26, x27) -> f7280_0_createList_LE(x28, x29, x18, 4, x30, x21, x22, x31, x24, 1, x23, x25, 1, x32, x33, x34, x26, x35) :|: x26 > -1 && x17 > 0 && x26 > x27 && x27 > -1 && x20 > 0 && x19 > 0 && x23 > 0 && x25 > 0 && x22 > 0 && x21 > 0 && x24 > 0 && x18 > 0 && x28 = x17 - 1 && x35 = x27 + 1 36.97/11.38 36.97/11.38 Arcs: 36.97/11.38 (1) -> (1), (2) 36.97/11.38 (2) -> (1) 36.97/11.38 36.97/11.38 This digraph is fully evaluated! 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (14) IntTRSCompressionProof (EQUIVALENT) 36.97/11.38 Compressed rules. 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (15) 36.97/11.38 Obligation: 36.97/11.38 Rules: 36.97/11.38 f7280_0_createList_LE(x17:0, x18:0, x18:0, x19:0, x20:0, x21:0, x22:0, x23:0, x24:0, x25:0, x23:0, x25:0, x19:0, x25:0, x24:0, x25:0, x26:0, x27:0) -> f7280_0_createList_LE(x17:0 - 1, x29:0, x18:0, 4, x30:0, x21:0, x22:0, x31:0, x24:0, 1, x23:0, x25:0, 1, x32:0, x33:0, x34:0, x26:0, x27:0 + 1) :|: x24:0 > 0 && x18:0 > 0 && x21:0 > 0 && x22:0 > 0 && x25:0 > 0 && x23:0 > 0 && x19:0 > 0 && x20:0 > 0 && x27:0 > -1 && x27:0 < x26:0 && x17:0 > 0 && x26:0 > -1 36.97/11.38 f7280_0_createList_LE(i4164:0:0, o11762[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.next]o11761:0:0, o11761[LinkedList$Entry.next]o11759:0:0, o11760[LinkedList$Entry.previous]o11760:0:0, o11760[LinkedList$Entry.previous]o11759:0:0, o11762[LinkedList$Entry.previous]o11759:0:0, o11760[LinkedList$Entry.previous]o11761:0:0, o11762[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.previous]o11759:0:0, o11761[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.next]o11762:0:0, o11761[LinkedList$Entry.previous]o11762:0:0, o11760[LinkedList$Entry.previous]o11762:0:0, o11762[LinkedList$Entry.previous]o11762:0:0, i4196:0:0, i4145:0:0) -> f7280_0_createList_LE(i4164:0:0 - 1, o13487[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.next]o11761:0:0, o11761[LinkedList$Entry.next]o11759:0:0, o11760[LinkedList$Entry.previous]o11760:0:0, o11760[LinkedList$Entry.previous]o11759:0:0, o13487[LinkedList$Entry.previous]o11759:0:0, o11760[LinkedList$Entry.previous]o11761:0:0, o13487[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.previous]o11759:0:0, o11761[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.next]o13487:0:0, o11761[LinkedList$Entry.previous]o13487:0:0, o11760[LinkedList$Entry.previous]o13487:0:0, o13487[LinkedList$Entry.previous]o13487:0:0, i4196:0:0, i4145:0:0 + 1) :|: o11760[LinkedList$Entry.previous]o11762:0:0 > 0 && o11761[LinkedList$Entry.previous]o11762:0:0 > 0 && o11762[LinkedList$Entry.previous]o11760:0:0 > 0 && o11761[LinkedList$Entry.next]o11762:0:0 > 0 && o11762[LinkedList$Entry.previous]o11761:0:0 > 0 && o11762[LinkedList$Entry.previous]o11759:0:0 > 0 && o11762[LinkedList$Entry.previous]o11762:0:0 > 0 && o11760[LinkedList$Entry.previous]o11760:0:0 > 0 && o11760[LinkedList$Entry.previous]o11759:0:0 > 0 && o11761[LinkedList$Entry.previous]o11761:0:0 > 0 && o11761[LinkedList$Entry.previous]o11759:0:0 > 0 && o11761[LinkedList$Entry.next]o11761:0:0 > 0 && o11761[LinkedList$Entry.next]o11759:0:0 > 0 && i4145:0:0 > -1 && i4196:0:0 > i4145:0:0 && i4164:0:0 > 0 && i4196:0:0 > -1 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (16) TempFilterProof (SOUND) 36.97/11.38 Used the following sort dictionary for filtering: 36.97/11.38 f7280_0_createList_LE(INTEGER, VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER, VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER) 36.97/11.38 Replaced non-predefined constructor symbols by 0. 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (17) 36.97/11.38 Obligation: 36.97/11.38 Rules: 36.97/11.38 f7280_0_createList_LE(x17:0, x18:0, x18:0, x19:0, x20:0, x21:0, x22:0, x23:0, x24:0, x25:0, x23:0, x25:0, x19:0, x25:0, x24:0, x25:0, x26:0, x27:0) -> f7280_0_createList_LE(c, x29:0, x18:0, c1, x30:0, x21:0, x22:0, x31:0, x24:0, c2, x23:0, x25:0, c3, x32:0, x33:0, x34:0, x26:0, c4) :|: c4 = x27:0 + 1 && (c3 = 1 && (c2 = 1 && (c1 = 4 && c = x17:0 - 1))) && (x24:0 > 0 && x18:0 > 0 && x21:0 > 0 && x22:0 > 0 && x25:0 > 0 && x23:0 > 0 && x19:0 > 0 && x20:0 > 0 && x27:0 > -1 && x27:0 < x26:0 && x17:0 > 0 && x26:0 > -1) 36.97/11.38 f7280_0_createList_LE(i4164:0:0, o11762[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.next]o11761:0:0, o11761[LinkedList$Entry.next]o11759:0:0, o11760[LinkedList$Entry.previous]o11760:0:0, o11760[LinkedList$Entry.previous]o11759:0:0, o11762[LinkedList$Entry.previous]o11759:0:0, o11760[LinkedList$Entry.previous]o11761:0:0, o11762[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.previous]o11759:0:0, o11761[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.next]o11762:0:0, o11761[LinkedList$Entry.previous]o11762:0:0, o11760[LinkedList$Entry.previous]o11762:0:0, o11762[LinkedList$Entry.previous]o11762:0:0, i4196:0:0, i4145:0:0) -> f7280_0_createList_LE(c5, o13487[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.next]o11761:0:0, o11761[LinkedList$Entry.next]o11759:0:0, o11760[LinkedList$Entry.previous]o11760:0:0, o11760[LinkedList$Entry.previous]o11759:0:0, o13487[LinkedList$Entry.previous]o11759:0:0, o11760[LinkedList$Entry.previous]o11761:0:0, o13487[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.previous]o11759:0:0, o11761[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.next]o13487:0:0, o11761[LinkedList$Entry.previous]o13487:0:0, o11760[LinkedList$Entry.previous]o13487:0:0, o13487[LinkedList$Entry.previous]o13487:0:0, i4196:0:0, c6) :|: c6 = i4145:0:0 + 1 && c5 = i4164:0:0 - 1 && (o11760[LinkedList$Entry.previous]o11762:0:0 > 0 && o11761[LinkedList$Entry.previous]o11762:0:0 > 0 && o11762[LinkedList$Entry.previous]o11760:0:0 > 0 && o11761[LinkedList$Entry.next]o11762:0:0 > 0 && o11762[LinkedList$Entry.previous]o11761:0:0 > 0 && o11762[LinkedList$Entry.previous]o11759:0:0 > 0 && o11762[LinkedList$Entry.previous]o11762:0:0 > 0 && o11760[LinkedList$Entry.previous]o11760:0:0 > 0 && o11760[LinkedList$Entry.previous]o11759:0:0 > 0 && o11761[LinkedList$Entry.previous]o11761:0:0 > 0 && o11761[LinkedList$Entry.previous]o11759:0:0 > 0 && o11761[LinkedList$Entry.next]o11761:0:0 > 0 && o11761[LinkedList$Entry.next]o11759:0:0 > 0 && i4145:0:0 > -1 && i4196:0:0 > i4145:0:0 && i4164:0:0 > 0 && i4196:0:0 > -1) 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (18) RankingReductionPairProof (EQUIVALENT) 36.97/11.38 Interpretation: 36.97/11.38 [ f7280_0_createList_LE ] = f7280_0_createList_LE_1 36.97/11.38 36.97/11.38 The following rules are decreasing: 36.97/11.38 f7280_0_createList_LE(x17:0, x18:0, x18:0, x19:0, x20:0, x21:0, x22:0, x23:0, x24:0, x25:0, x23:0, x25:0, x19:0, x25:0, x24:0, x25:0, x26:0, x27:0) -> f7280_0_createList_LE(c, x29:0, x18:0, c1, x30:0, x21:0, x22:0, x31:0, x24:0, c2, x23:0, x25:0, c3, x32:0, x33:0, x34:0, x26:0, c4) :|: c4 = x27:0 + 1 && (c3 = 1 && (c2 = 1 && (c1 = 4 && c = x17:0 - 1))) && (x24:0 > 0 && x18:0 > 0 && x21:0 > 0 && x22:0 > 0 && x25:0 > 0 && x23:0 > 0 && x19:0 > 0 && x20:0 > 0 && x27:0 > -1 && x27:0 < x26:0 && x17:0 > 0 && x26:0 > -1) 36.97/11.38 f7280_0_createList_LE(i4164:0:0, o11762[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.next]o11761:0:0, o11761[LinkedList$Entry.next]o11759:0:0, o11760[LinkedList$Entry.previous]o11760:0:0, o11760[LinkedList$Entry.previous]o11759:0:0, o11762[LinkedList$Entry.previous]o11759:0:0, o11760[LinkedList$Entry.previous]o11761:0:0, o11762[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.previous]o11759:0:0, o11761[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.next]o11762:0:0, o11761[LinkedList$Entry.previous]o11762:0:0, o11760[LinkedList$Entry.previous]o11762:0:0, o11762[LinkedList$Entry.previous]o11762:0:0, i4196:0:0, i4145:0:0) -> f7280_0_createList_LE(c5, o13487[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.next]o11761:0:0, o11761[LinkedList$Entry.next]o11759:0:0, o11760[LinkedList$Entry.previous]o11760:0:0, o11760[LinkedList$Entry.previous]o11759:0:0, o13487[LinkedList$Entry.previous]o11759:0:0, o11760[LinkedList$Entry.previous]o11761:0:0, o13487[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.previous]o11759:0:0, o11761[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.next]o13487:0:0, o11761[LinkedList$Entry.previous]o13487:0:0, o11760[LinkedList$Entry.previous]o13487:0:0, o13487[LinkedList$Entry.previous]o13487:0:0, i4196:0:0, c6) :|: c6 = i4145:0:0 + 1 && c5 = i4164:0:0 - 1 && (o11760[LinkedList$Entry.previous]o11762:0:0 > 0 && o11761[LinkedList$Entry.previous]o11762:0:0 > 0 && o11762[LinkedList$Entry.previous]o11760:0:0 > 0 && o11761[LinkedList$Entry.next]o11762:0:0 > 0 && o11762[LinkedList$Entry.previous]o11761:0:0 > 0 && o11762[LinkedList$Entry.previous]o11759:0:0 > 0 && o11762[LinkedList$Entry.previous]o11762:0:0 > 0 && o11760[LinkedList$Entry.previous]o11760:0:0 > 0 && o11760[LinkedList$Entry.previous]o11759:0:0 > 0 && o11761[LinkedList$Entry.previous]o11761:0:0 > 0 && o11761[LinkedList$Entry.previous]o11759:0:0 > 0 && o11761[LinkedList$Entry.next]o11761:0:0 > 0 && o11761[LinkedList$Entry.next]o11759:0:0 > 0 && i4145:0:0 > -1 && i4196:0:0 > i4145:0:0 && i4164:0:0 > 0 && i4196:0:0 > -1) 36.97/11.38 36.97/11.38 The following rules are bounded: 36.97/11.38 f7280_0_createList_LE(x17:0, x18:0, x18:0, x19:0, x20:0, x21:0, x22:0, x23:0, x24:0, x25:0, x23:0, x25:0, x19:0, x25:0, x24:0, x25:0, x26:0, x27:0) -> f7280_0_createList_LE(c, x29:0, x18:0, c1, x30:0, x21:0, x22:0, x31:0, x24:0, c2, x23:0, x25:0, c3, x32:0, x33:0, x34:0, x26:0, c4) :|: c4 = x27:0 + 1 && (c3 = 1 && (c2 = 1 && (c1 = 4 && c = x17:0 - 1))) && (x24:0 > 0 && x18:0 > 0 && x21:0 > 0 && x22:0 > 0 && x25:0 > 0 && x23:0 > 0 && x19:0 > 0 && x20:0 > 0 && x27:0 > -1 && x27:0 < x26:0 && x17:0 > 0 && x26:0 > -1) 36.97/11.38 f7280_0_createList_LE(i4164:0:0, o11762[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.next]o11761:0:0, o11761[LinkedList$Entry.next]o11759:0:0, o11760[LinkedList$Entry.previous]o11760:0:0, o11760[LinkedList$Entry.previous]o11759:0:0, o11762[LinkedList$Entry.previous]o11759:0:0, o11760[LinkedList$Entry.previous]o11761:0:0, o11762[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.previous]o11759:0:0, o11761[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.next]o11762:0:0, o11761[LinkedList$Entry.previous]o11762:0:0, o11760[LinkedList$Entry.previous]o11762:0:0, o11762[LinkedList$Entry.previous]o11762:0:0, i4196:0:0, i4145:0:0) -> f7280_0_createList_LE(c5, o13487[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.previous]o11760:0:0, o11761[LinkedList$Entry.next]o11761:0:0, o11761[LinkedList$Entry.next]o11759:0:0, o11760[LinkedList$Entry.previous]o11760:0:0, o11760[LinkedList$Entry.previous]o11759:0:0, o13487[LinkedList$Entry.previous]o11759:0:0, o11760[LinkedList$Entry.previous]o11761:0:0, o13487[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.previous]o11759:0:0, o11761[LinkedList$Entry.previous]o11761:0:0, o11761[LinkedList$Entry.next]o13487:0:0, o11761[LinkedList$Entry.previous]o13487:0:0, o11760[LinkedList$Entry.previous]o13487:0:0, o13487[LinkedList$Entry.previous]o13487:0:0, i4196:0:0, c6) :|: c6 = i4145:0:0 + 1 && c5 = i4164:0:0 - 1 && (o11760[LinkedList$Entry.previous]o11762:0:0 > 0 && o11761[LinkedList$Entry.previous]o11762:0:0 > 0 && o11762[LinkedList$Entry.previous]o11760:0:0 > 0 && o11761[LinkedList$Entry.next]o11762:0:0 > 0 && o11762[LinkedList$Entry.previous]o11761:0:0 > 0 && o11762[LinkedList$Entry.previous]o11759:0:0 > 0 && o11762[LinkedList$Entry.previous]o11762:0:0 > 0 && o11760[LinkedList$Entry.previous]o11760:0:0 > 0 && o11760[LinkedList$Entry.previous]o11759:0:0 > 0 && o11761[LinkedList$Entry.previous]o11761:0:0 > 0 && o11761[LinkedList$Entry.previous]o11759:0:0 > 0 && o11761[LinkedList$Entry.next]o11761:0:0 > 0 && o11761[LinkedList$Entry.next]o11759:0:0 > 0 && i4145:0:0 > -1 && i4196:0:0 > i4145:0:0 && i4164:0:0 > 0 && i4196:0:0 > -1) 36.97/11.38 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (19) 36.97/11.38 YES 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (20) 36.97/11.38 Obligation: 36.97/11.38 SCC of termination graph based on JBC Program. 36.97/11.38 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateContains.main([Ljava/lang/String;)V 36.97/11.38 SCC calls the following helper methods: javaUtilEx.Content.equals(Ljava/lang/Object;)Z 36.97/11.38 Performed SCC analyses: 36.97/11.38 *Used field analysis yielded the following read fields: 36.97/11.38 *javaUtilEx.LinkedList$Entry: [next, element] 36.97/11.38 *javaUtilEx.LinkedList: [header] 36.97/11.38 *Marker field analysis yielded the following relations that could be markers: 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (21) SCCToIRSProof (SOUND) 36.97/11.38 Transformed FIGraph SCCs to intTRSs. Log: 36.97/11.38 Generated rules. Obtained 69 IRulesP rules: 36.97/11.38 f9329_0_indexOf_EQ(EOS(STATIC_9329), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30041sub1467482615), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o30037[LinkedList$Entry.next]o30035, o30037[LinkedList$Entry.next]o30039, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037) -> f9341_0_indexOf_Inc(EOS(STATIC_9341), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30041sub1467482615), java.lang.Object(javaUtilEx.Content(EOC)))), o30037[LinkedList$Entry.next]o30035, o30037[LinkedList$Entry.next]o30039, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037) :|: TRUE && matching1 = 0 36.97/11.38 f9341_0_indexOf_Inc(EOS(STATIC_9341), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30041sub1467482615), java.lang.Object(javaUtilEx.Content(EOC)))), o30037[LinkedList$Entry.next]o30035, o30037[LinkedList$Entry.next]o30039, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037) -> f9351_0_indexOf_Load(EOS(STATIC_9351), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30041sub1467482615), java.lang.Object(javaUtilEx.Content(EOC)))), o30037[LinkedList$Entry.next]o30035, o30037[LinkedList$Entry.next]o30039, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037) :|: TRUE 36.97/11.38 f9351_0_indexOf_Load(EOS(STATIC_9351), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30041sub1467482615), java.lang.Object(javaUtilEx.Content(EOC)))), o30037[LinkedList$Entry.next]o30035, o30037[LinkedList$Entry.next]o30039, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037) -> f9360_0_indexOf_FieldAccess(EOS(STATIC_9360), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30041sub1467482615), java.lang.Object(javaUtilEx.Content(EOC)))), o30037[LinkedList$Entry.next]o30035, o30037[LinkedList$Entry.next]o30039, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037) :|: TRUE 36.97/11.38 f9360_0_indexOf_FieldAccess(EOS(STATIC_9360), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30041sub1467482615), java.lang.Object(javaUtilEx.Content(EOC)))), o30037[LinkedList$Entry.next]o30035, o30037[LinkedList$Entry.next]o30039, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037) -> f9368_0_indexOf_Store(EOS(STATIC_9368), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30041sub0), o30037[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037, o30037[LinkedList$Entry.next]o30041) :|: o30037[LinkedList$Entry.next]o30041 > o30037[LinkedList$Entry.next]o30039 && o30037[LinkedList$Entry.next]o30039 >= 0 36.97/11.38 f9368_0_indexOf_Store(EOS(STATIC_9368), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30041sub0), o30037[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037, o30037[LinkedList$Entry.next]o30041) -> f9376_0_indexOf_JMP(EOS(STATIC_9376), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30041sub0), o30037[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037, o30037[LinkedList$Entry.next]o30041) :|: TRUE 36.97/11.38 f9376_0_indexOf_JMP(EOS(STATIC_9376), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30041sub0), o30037[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037, o30037[LinkedList$Entry.next]o30041) -> f9381_0_indexOf_Load(EOS(STATIC_9381), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30041sub0), o30037[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037, o30037[LinkedList$Entry.next]o30041) :|: TRUE 36.97/11.38 f9381_0_indexOf_Load(EOS(STATIC_9381), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30041sub0), o30037[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037, o30037[LinkedList$Entry.next]o30041) -> f9231_0_indexOf_Load(EOS(STATIC_9231), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30041sub0), o30037[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037, o30037[LinkedList$Entry.next]o30041) :|: TRUE 36.97/11.38 f9231_0_indexOf_Load(EOS(STATIC_9231), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113) -> f9233_0_indexOf_Load(EOS(STATIC_9233), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), java.lang.Object(o29113sub0), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113) :|: TRUE 36.97/11.38 f9233_0_indexOf_Load(EOS(STATIC_9233), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), java.lang.Object(o29113sub0), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113) -> f9235_0_indexOf_FieldAccess(EOS(STATIC_9235), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), java.lang.Object(o29113sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113) :|: TRUE 36.97/11.38 f9235_0_indexOf_FieldAccess(EOS(STATIC_9235), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), java.lang.Object(o29113sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113) -> f9237_0_indexOf_EQ(EOS(STATIC_9237), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), java.lang.Object(o29113sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub1447192061), o291101447192061)), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113) :|: TRUE 36.97/11.38 f9237_0_indexOf_EQ(EOS(STATIC_9237), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), java.lang.Object(o29113sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub1447192061), o291101447192061)), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113) -> f9240_0_indexOf_EQ(EOS(STATIC_9240), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), java.lang.Object(o29113sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub1447192061), o291101447192061)), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113, o29113[LinkedList$Entry.next]o29109) :|: o29113[LinkedList$Entry.next]o29109 > 0 36.97/11.38 f9240_0_indexOf_EQ(EOS(STATIC_9240), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), java.lang.Object(o29113sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub1447192061), o291101447192061)), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113, o29113[LinkedList$Entry.next]o29109) -> f9244_0_indexOf_Load(EOS(STATIC_9244), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113, o29113[LinkedList$Entry.next]o29109) :|: TRUE 36.97/11.38 f9244_0_indexOf_Load(EOS(STATIC_9244), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113, o29113[LinkedList$Entry.next]o29109) -> f9248_0_indexOf_Load(EOS(STATIC_9248), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), java.lang.Object(o29112sub0), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113, o29113[LinkedList$Entry.next]o29109) :|: TRUE 36.97/11.38 f9248_0_indexOf_Load(EOS(STATIC_9248), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), java.lang.Object(o29112sub0), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113, o29113[LinkedList$Entry.next]o29109) -> f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113, o29113[LinkedList$Entry.next]o29109) :|: TRUE 36.97/11.38 f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), o29111[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111, o29111[LinkedList$Entry.next]o29113, o29113[LinkedList$Entry.next]o29109) -> f9255_0_indexOf_FieldAccess(EOS(STATIC_9255), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), java.lang.Object(o29112sub0), java.lang.Object(o29113sub0), o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29113, o29113[LinkedList$Entry.next]o29109, o29113[LinkedList$Entry.next]o29111) :|: o29113[LinkedList$Entry.next]o29111 > 0 && o29111[LinkedList$Entry.next]o29113 > 0 36.97/11.38 f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29478sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29478sub0), java.lang.Object(o29112sub0), java.lang.Object(o29478sub0), o29478[LinkedList$Entry.next]o29109, o29478[LinkedList$Entry.next]o29478, o29478[LinkedList$Entry.next]o29478, o29478[LinkedList$Entry.next]o29109) -> f9256_0_indexOf_FieldAccess(EOS(STATIC_9256), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29478sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(o29478sub0), java.lang.Object(o29112sub0), java.lang.Object(o29478sub0), o29478[LinkedList$Entry.next]o29109, o29478[LinkedList$Entry.next]o29478) :|: TRUE 36.97/11.38 f9255_0_indexOf_FieldAccess(EOS(STATIC_9255), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), o294881447289060)), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), o294881447289060)), o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29487[LinkedList$Entry.next]o29109, o29487[LinkedList$Entry.next]o29111) -> f9260_0_indexOf_FieldAccess(EOS(STATIC_9260), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), o294881447289060)), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), o294881447289060)), o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) :|: o29489[LinkedList$Entry.next]o29109 < o29487[LinkedList$Entry.next]o29109 && o29487[LinkedList$Entry.next]o29109 >= 0 && o29489[LinkedList$Entry.next]o29111 < o29487[LinkedList$Entry.next]o29111 && o29487[LinkedList$Entry.next]o29111 >= 0 36.97/11.38 f9260_0_indexOf_FieldAccess(EOS(STATIC_9260), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), o294881447289060)), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), o294881447289060)), o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) -> f9265_0_indexOf_InvokeMethod(EOS(STATIC_9265), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), o294881447289060)), java.lang.Object(o29112sub0), o294880, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) :|: TRUE 36.97/11.38 f9265_0_indexOf_InvokeMethod(EOS(STATIC_9265), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), o294881447289060)), java.lang.Object(o29112sub0), o294880, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) -> f9270_0_equals_Load(EOS(STATIC_9270), java.lang.Object(o29112sub0), o294880, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub1447192061), o291101447192061)), java.lang.Object(o29111sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), o294881447289060)), java.lang.Object(o29489sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), o294880, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) :|: i8438 > 1 && i3901 >= 1 36.97/11.38 f9265_0_indexOf_InvokeMethod(EOS(STATIC_9265), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), o294881447289060)), java.lang.Object(o29112sub0), o294880, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) -> f9270_1_equals_Load(EOS(STATIC_9270), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), o294881447289060)), java.lang.Object(o29112sub0), o294880, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) :|: i8438 > 1 && i3901 >= 1 36.97/11.38 f9270_0_equals_Load(EOS(STATIC_9270), java.lang.Object(o29112sub0), o294880, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub1447192061), o291101447192061)), java.lang.Object(o29111sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), o294881447289060)), java.lang.Object(o29489sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), o294880, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) -> f9658_0_equals_Load(EOS(STATIC_9658), java.lang.Object(o29112sub0), o294880, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub1447192061), o291101447192061)), java.lang.Object(o29111sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), o294881447289060)), java.lang.Object(o29489sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29112sub0), o294880, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) :|: TRUE 36.97/11.38 f9300_0_equals_Return(EOS(STATIC_9300), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29797sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), NULL)), matching1, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) -> f9302_0_equals_Return(EOS(STATIC_9302), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29797sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), NULL)), 0, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) :|: TRUE && matching1 = 0 36.97/11.38 f9302_0_equals_Return(EOS(STATIC_9302), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30005sub1467479546), o300041467479546)), matching1, o30001[LinkedList$Entry.next]o29999, o30001[LinkedList$Entry.next]o30003, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001) -> f9317_0_indexOf_EQ(EOS(STATIC_9317), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30005sub1467479546), o300041467479546)), 0, o30001[LinkedList$Entry.next]o29999, o30001[LinkedList$Entry.next]o30003, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001) :|: TRUE && matching1 = 0 36.97/11.38 f9317_0_indexOf_EQ(EOS(STATIC_9317), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30005sub1467479546), o300041467479546)), matching1, o30001[LinkedList$Entry.next]o29999, o30001[LinkedList$Entry.next]o30003, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001) -> f9327_0_indexOf_Inc(EOS(STATIC_9327), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30005sub1467479546), o300041467479546)), o30001[LinkedList$Entry.next]o29999, o30001[LinkedList$Entry.next]o30003, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001) :|: TRUE && matching1 = 0 36.97/11.38 f9327_0_indexOf_Inc(EOS(STATIC_9327), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30005sub1467479546), o300041467479546)), o30001[LinkedList$Entry.next]o29999, o30001[LinkedList$Entry.next]o30003, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001) -> f9339_0_indexOf_Load(EOS(STATIC_9339), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30005sub1467479546), o300041467479546)), o30001[LinkedList$Entry.next]o29999, o30001[LinkedList$Entry.next]o30003, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001) :|: TRUE 36.97/11.38 f9339_0_indexOf_Load(EOS(STATIC_9339), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30005sub1467479546), o300041467479546)), o30001[LinkedList$Entry.next]o29999, o30001[LinkedList$Entry.next]o30003, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001) -> f9350_0_indexOf_FieldAccess(EOS(STATIC_9350), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30005sub1467479546), o300041467479546)), o30001[LinkedList$Entry.next]o29999, o30001[LinkedList$Entry.next]o30003, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001) :|: TRUE 36.97/11.38 f9350_0_indexOf_FieldAccess(EOS(STATIC_9350), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30005sub1467479546), o300041467479546)), o30001[LinkedList$Entry.next]o29999, o30001[LinkedList$Entry.next]o30003, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001) -> f9359_0_indexOf_Store(EOS(STATIC_9359), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(o30005sub0), o30001[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001, o30001[LinkedList$Entry.next]o30005) :|: o30001[LinkedList$Entry.next]o30005 > o30001[LinkedList$Entry.next]o30003 && o30001[LinkedList$Entry.next]o30003 >= 0 36.97/11.38 f9359_0_indexOf_Store(EOS(STATIC_9359), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(o30005sub0), o30001[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001, o30001[LinkedList$Entry.next]o30005) -> f9367_0_indexOf_JMP(EOS(STATIC_9367), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(o30005sub0), o30001[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001, o30001[LinkedList$Entry.next]o30005) :|: TRUE 36.97/11.38 f9367_0_indexOf_JMP(EOS(STATIC_9367), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(o30005sub0), o30001[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001, o30001[LinkedList$Entry.next]o30005) -> f9375_0_indexOf_Load(EOS(STATIC_9375), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(o30005sub0), o30001[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001, o30001[LinkedList$Entry.next]o30005) :|: TRUE 36.97/11.38 f9375_0_indexOf_Load(EOS(STATIC_9375), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(o30005sub0), o30001[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001, o30001[LinkedList$Entry.next]o30005) -> f9231_0_indexOf_Load(EOS(STATIC_9231), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30001sub-1400089251), o30000-1400089251))))))), java.lang.Object(o30002sub0), java.lang.Object(o30005sub0), o30001[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o29999, o30005[LinkedList$Entry.next]o30001, o30001[LinkedList$Entry.next]o30005) :|: TRUE 36.97/11.38 f9301_0_equals_Return(EOS(STATIC_9301), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29810sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), java.lang.Object(o29812sub1447289060))), matching1, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) -> f9302_0_equals_Return(EOS(STATIC_9302), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29810sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), java.lang.Object(o29812sub1447289060))), 0, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) :|: TRUE && matching1 = 0 36.97/11.38 f9303_0_equals_Return(EOS(STATIC_9303), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) -> f9305_0_equals_Return(EOS(STATIC_9305), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) :|: TRUE && matching1 = 0 36.97/11.38 f9305_0_equals_Return(EOS(STATIC_9305), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30041sub1467482615), java.lang.Object(javaUtilEx.Content(EOC)))), i8665, o30037[LinkedList$Entry.next]o30035, o30037[LinkedList$Entry.next]o30039, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037) -> f9318_0_indexOf_EQ(EOS(STATIC_9318), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30041sub1467482615), java.lang.Object(javaUtilEx.Content(EOC)))), i8665, o30037[LinkedList$Entry.next]o30035, o30037[LinkedList$Entry.next]o30039, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037) :|: TRUE 36.97/11.38 f9318_0_indexOf_EQ(EOS(STATIC_9318), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30041sub1467482615), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o30037[LinkedList$Entry.next]o30035, o30037[LinkedList$Entry.next]o30039, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037) -> f9329_0_indexOf_EQ(EOS(STATIC_9329), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30037sub-1360002345), o30036-1360002345))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30041sub1467482615), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o30037[LinkedList$Entry.next]o30035, o30037[LinkedList$Entry.next]o30039, o30041[LinkedList$Entry.next]o30035, o30041[LinkedList$Entry.next]o30037) :|: TRUE && matching1 = 0 36.97/11.38 f9304_0_equals_Return(EOS(STATIC_9304), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) -> f9305_0_equals_Return(EOS(STATIC_9305), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) :|: TRUE && matching1 = 1 36.97/11.38 f9256_0_indexOf_FieldAccess(EOS(STATIC_9256), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), o2949246706630)), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), o294921447289835)), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), o294921447289835)), o29491[LinkedList$Entry.next]o29109, o29491[LinkedList$Entry.next]o29491) -> f9261_0_indexOf_FieldAccess(EOS(STATIC_9261), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), o2949246706630)), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), o294921447289835)), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), o294921447289835)), o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) :|: o29493[LinkedList$Entry.next]o29109 < o29491[LinkedList$Entry.next]o29109 && o29491[LinkedList$Entry.next]o29109 >= 0 && o29493[LinkedList$Entry.next]o29491 < o29491[LinkedList$Entry.next]o29491 && o29491[LinkedList$Entry.next]o29491 >= 0 36.97/11.38 f9261_0_indexOf_FieldAccess(EOS(STATIC_9261), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), o2949246706630)), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), o294921447289835)), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), o294921447289835)), o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) -> f9266_0_indexOf_InvokeMethod(EOS(STATIC_9266), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), o2949246706630)), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), o294921447289835)), java.lang.Object(o29112sub0), o294920, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) :|: TRUE 36.97/11.38 f9266_0_indexOf_InvokeMethod(EOS(STATIC_9266), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), o2949246706630)), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), o294921447289835)), java.lang.Object(o29112sub0), o294920, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) -> f9271_0_equals_Load(EOS(STATIC_9271), java.lang.Object(o29112sub0), o294920, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub-1400485400), o29492-1400485400)), o291101447192061)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), o294921447289835)), java.lang.Object(o29493sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), o2949246706630)), o29110-1400583205))))))), java.lang.Object(o29112sub0), o294920, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) :|: i8438 > 1 && i3901 >= 1 36.97/11.38 f9266_0_indexOf_InvokeMethod(EOS(STATIC_9266), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), o2949246706630)), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), o294921447289835)), java.lang.Object(o29112sub0), o294920, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) -> f9271_1_equals_Load(EOS(STATIC_9271), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), o2949246706630)), o29110-1400583205))))))), java.lang.Object(o29112sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), o294921447289835)), java.lang.Object(o29112sub0), o294920, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) :|: i8438 > 1 && i3901 >= 1 36.97/11.38 f9271_0_equals_Load(EOS(STATIC_9271), java.lang.Object(o29112sub0), o294920, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub-1400485400), o29492-1400485400)), o291101447192061)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), o294921447289835)), java.lang.Object(o29493sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), o2949246706630)), o29110-1400583205))))))), java.lang.Object(o29112sub0), o294920, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) -> f9720_0_equals_Load(EOS(STATIC_9720), java.lang.Object(o29112sub0), o294920, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub-1400485400), o29492-1400485400)), o291101447192061)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), o294921447289835)), java.lang.Object(o29493sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), o2949246706630)), o29110-1400583205))))))), java.lang.Object(o29112sub0), o294920, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) :|: TRUE 36.97/11.38 f9307_0_equals_Return(EOS(STATIC_9307), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), NULL)), o29110-1400583205))))))), java.lang.Object(o29878sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), NULL)), matching1, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) -> f9309_0_equals_Return(EOS(STATIC_9309), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), NULL)), o29110-1400583205))))))), java.lang.Object(o29878sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), NULL)), 0, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) :|: TRUE && matching1 = 0 36.97/11.38 f9309_0_equals_Return(EOS(STATIC_9309), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub1467486211), o300721467486211)), matching1, o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) -> f9319_0_indexOf_EQ(EOS(STATIC_9319), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub1467486211), o300721467486211)), 0, o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) :|: TRUE && matching1 = 0 36.97/11.38 f9319_0_indexOf_EQ(EOS(STATIC_9319), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub1467486211), o300721467486211)), matching1, o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) -> f9330_0_indexOf_Inc(EOS(STATIC_9330), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub1467486211), o300721467486211)), o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) :|: TRUE && matching1 = 0 36.97/11.38 f9330_0_indexOf_Inc(EOS(STATIC_9330), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub1467486211), o300721467486211)), o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) -> f9342_0_indexOf_Load(EOS(STATIC_9342), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub1467486211), o300721467486211)), o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) :|: TRUE 36.97/11.38 f9342_0_indexOf_Load(EOS(STATIC_9342), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub1467486211), o300721467486211)), o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) -> f9352_0_indexOf_FieldAccess(EOS(STATIC_9352), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub1467486211), o300721467486211)), o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) :|: TRUE 36.97/11.38 f9352_0_indexOf_FieldAccess(EOS(STATIC_9352), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub1467486211), o300721467486211)), o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) -> f9361_0_indexOf_Store(EOS(STATIC_9361), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(o30073sub0), o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) :|: TRUE 36.97/11.38 f9361_0_indexOf_Store(EOS(STATIC_9361), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(o30073sub0), o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) -> f9369_0_indexOf_JMP(EOS(STATIC_9369), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(o30073sub0), o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) :|: TRUE 36.97/11.38 f9369_0_indexOf_JMP(EOS(STATIC_9369), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(o30073sub0), o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) -> f9377_0_indexOf_Load(EOS(STATIC_9377), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(o30073sub0), o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) :|: TRUE 36.97/11.38 f9377_0_indexOf_Load(EOS(STATIC_9377), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(o30073sub0), o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071) -> f9231_0_indexOf_Load(EOS(STATIC_9231), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30073sub107489880), o30072107489880)), o30070-1359996331))))))), java.lang.Object(o30075sub0), java.lang.Object(o30073sub0), o30071[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30069, o30073[LinkedList$Entry.next]o30071, o30071[LinkedList$Entry.next]o30073) :|: o30071[LinkedList$Entry.next]o30073 = 1 36.97/11.38 f9308_0_equals_Return(EOS(STATIC_9308), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), java.lang.Object(o29892sub46706630))), o29110-1400583205))))))), java.lang.Object(o29890sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), java.lang.Object(o29892sub1447289835))), matching1, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) -> f9309_0_equals_Return(EOS(STATIC_9309), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), java.lang.Object(o29892sub46706630))), o29110-1400583205))))))), java.lang.Object(o29890sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), java.lang.Object(o29892sub1447289835))), 0, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) :|: TRUE && matching1 = 0 36.97/11.38 f9310_0_equals_Return(EOS(STATIC_9310), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), java.lang.Object(javaUtilEx.Content(EOC)))), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) -> f9312_0_equals_Return(EOS(STATIC_9312), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), java.lang.Object(javaUtilEx.Content(EOC)))), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) :|: TRUE && matching1 = 0 36.97/11.38 f9312_0_equals_Return(EOS(STATIC_9312), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub1467488381), java.lang.Object(javaUtilEx.Content(EOC)))), i8688, o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) -> f9320_0_indexOf_EQ(EOS(STATIC_9320), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub1467488381), java.lang.Object(javaUtilEx.Content(EOC)))), i8688, o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) :|: TRUE 36.97/11.38 f9320_0_indexOf_EQ(EOS(STATIC_9320), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub1467488381), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) -> f9332_0_indexOf_EQ(EOS(STATIC_9332), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub1467488381), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) :|: TRUE && matching1 = 0 36.97/11.38 f9332_0_indexOf_EQ(EOS(STATIC_9332), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub1467488381), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) -> f9344_0_indexOf_Inc(EOS(STATIC_9344), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub1467488381), java.lang.Object(javaUtilEx.Content(EOC)))), o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) :|: TRUE && matching1 = 0 36.97/11.38 f9344_0_indexOf_Inc(EOS(STATIC_9344), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub1467488381), java.lang.Object(javaUtilEx.Content(EOC)))), o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) -> f9353_0_indexOf_Load(EOS(STATIC_9353), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub1467488381), java.lang.Object(javaUtilEx.Content(EOC)))), o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) :|: TRUE 36.97/11.38 f9353_0_indexOf_Load(EOS(STATIC_9353), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub1467488381), java.lang.Object(javaUtilEx.Content(EOC)))), o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) -> f9362_0_indexOf_FieldAccess(EOS(STATIC_9362), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub1467488381), java.lang.Object(javaUtilEx.Content(EOC)))), o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) :|: TRUE 36.97/11.38 f9362_0_indexOf_FieldAccess(EOS(STATIC_9362), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub1467488381), java.lang.Object(javaUtilEx.Content(EOC)))), o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) -> f9370_0_indexOf_Store(EOS(STATIC_9370), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30101sub0), o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) :|: TRUE 36.97/11.38 f9370_0_indexOf_Store(EOS(STATIC_9370), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30101sub0), o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) -> f9378_0_indexOf_JMP(EOS(STATIC_9378), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30101sub0), o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) :|: TRUE 36.97/11.38 f9378_0_indexOf_JMP(EOS(STATIC_9378), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30101sub0), o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) -> f9382_0_indexOf_Load(EOS(STATIC_9382), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30101sub0), o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) :|: TRUE 36.97/11.38 f9382_0_indexOf_Load(EOS(STATIC_9382), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30101sub0), o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099) -> f9231_0_indexOf_Load(EOS(STATIC_9231), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30101sub107497692), java.lang.Object(javaUtilEx.Content(EOC)))), o30098-1359990689))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30101sub0), o30099[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30097, o30101[LinkedList$Entry.next]o30099, o30099[LinkedList$Entry.next]o30101) :|: o30099[LinkedList$Entry.next]o30101 = 1 36.97/11.38 f9311_0_equals_Return(EOS(STATIC_9311), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), java.lang.Object(javaUtilEx.Content(EOC)))), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) -> f9312_0_equals_Return(EOS(STATIC_9312), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), java.lang.Object(javaUtilEx.Content(EOC)))), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) :|: TRUE && matching1 = 1 36.97/11.38 f9270_1_equals_Load(EOS(STATIC_9270), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29797sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), NULL)), java.lang.Object(o29797sub0), NULL, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) -> f9300_0_equals_Return(EOS(STATIC_9300), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29797sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), NULL)), 0, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) :|: TRUE 36.97/11.38 f9270_1_equals_Load(EOS(STATIC_9270), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29810sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), java.lang.Object(o29812sub1447289060))), java.lang.Object(o29810sub0), java.lang.Object(o29812sub0), o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) -> f9301_0_equals_Return(EOS(STATIC_9301), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(o29810sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), java.lang.Object(o29812sub1447289060))), 0, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) :|: TRUE 36.97/11.38 f9270_1_equals_Load(EOS(STATIC_9270), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) -> f9303_0_equals_Return(EOS(STATIC_9303), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) :|: TRUE 36.97/11.38 f9270_1_equals_Load(EOS(STATIC_9270), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) -> f9304_0_equals_Return(EOS(STATIC_9304), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o29111[LinkedList$Entry.next]o29109, o29111[LinkedList$Entry.next]o29487, o29489[LinkedList$Entry.next]o29109, o29489[LinkedList$Entry.next]o29111) :|: TRUE 36.97/11.38 f9271_1_equals_Load(EOS(STATIC_9271), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), NULL)), o29110-1400583205))))))), java.lang.Object(o29878sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), NULL)), java.lang.Object(o29878sub0), NULL, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) -> f9307_0_equals_Return(EOS(STATIC_9307), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), NULL)), o29110-1400583205))))))), java.lang.Object(o29878sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), NULL)), 0, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) :|: TRUE 36.97/11.38 f9271_1_equals_Load(EOS(STATIC_9271), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), java.lang.Object(o29892sub46706630))), o29110-1400583205))))))), java.lang.Object(o29890sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), java.lang.Object(o29892sub1447289835))), java.lang.Object(o29890sub0), java.lang.Object(o29892sub0), o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) -> f9308_0_equals_Return(EOS(STATIC_9308), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), java.lang.Object(o29892sub46706630))), o29110-1400583205))))))), java.lang.Object(o29890sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), java.lang.Object(o29892sub1447289835))), 0, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) :|: TRUE 36.97/11.38 f9271_1_equals_Load(EOS(STATIC_9271), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), java.lang.Object(javaUtilEx.Content(EOC)))), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) -> f9310_0_equals_Return(EOS(STATIC_9310), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), java.lang.Object(javaUtilEx.Content(EOC)))), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) :|: TRUE 36.97/11.38 f9271_1_equals_Load(EOS(STATIC_9271), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), java.lang.Object(javaUtilEx.Content(EOC)))), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) -> f9311_0_equals_Return(EOS(STATIC_9311), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630), java.lang.Object(javaUtilEx.Content(EOC)))), o29110-1400583205))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o29493[LinkedList$Entry.next]o29109, o29493[LinkedList$Entry.next]o29491) :|: TRUE 36.97/11.38 Combined rules. Obtained 8 IRulesP rules: 36.97/11.38 f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060:0), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060:0), java.lang.Object(javaUtilEx.Content(EOC)))), o29111[LinkedList$Entry.next]o29109:0, o29113[LinkedList$Entry.next]o29111:0, o29111[LinkedList$Entry.next]o29113:0, o29113[LinkedList$Entry.next]o29109:0) -> f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30041sub0:0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30041sub0:0), o29111[LinkedList$Entry.next]o29109:0, o29489[LinkedList$Entry.next]o29111:0, o30037[LinkedList$Entry.next]o30041:0, o29489[LinkedList$Entry.next]o29109:0) :|: o29111[LinkedList$Entry.next]o29113:0 > 0 && o29113[LinkedList$Entry.next]o29111:0 > 0 && o30037[LinkedList$Entry.next]o30041:0 > o29111[LinkedList$Entry.next]o29113:0 && o29113[LinkedList$Entry.next]o29109:0 > -1 && o29489[LinkedList$Entry.next]o29109:0 < o29113[LinkedList$Entry.next]o29109:0 && o29489[LinkedList$Entry.next]o29111:0 < o29113[LinkedList$Entry.next]o29111:0 && o29489[LinkedList$Entry.next]o29109:0 > 0 && i8438:0 > 1 && i3901:0 > 0 36.97/11.38 f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060:0), java.lang.Object(o29812sub1447289060:0))), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060:0), java.lang.Object(o29812sub1447289060:0))), o29111[LinkedList$Entry.next]o29109:0, o29113[LinkedList$Entry.next]o29111:0, o29111[LinkedList$Entry.next]o29113:0, o29113[LinkedList$Entry.next]o29109:0) -> f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(o30005sub0:0), java.lang.Object(o29112sub0:0), java.lang.Object(o30005sub0:0), o29111[LinkedList$Entry.next]o29109:0, o29489[LinkedList$Entry.next]o29111:0, o30001[LinkedList$Entry.next]o30005:0, o29489[LinkedList$Entry.next]o29109:0) :|: o29111[LinkedList$Entry.next]o29113:0 > 0 && o29113[LinkedList$Entry.next]o29111:0 > 0 && o29113[LinkedList$Entry.next]o29109:0 > -1 && o29489[LinkedList$Entry.next]o29109:0 < o29113[LinkedList$Entry.next]o29109:0 && o29489[LinkedList$Entry.next]o29111:0 < o29113[LinkedList$Entry.next]o29111:0 && o29489[LinkedList$Entry.next]o29109:0 > 0 && o30001[LinkedList$Entry.next]o30005:0 > o29111[LinkedList$Entry.next]o29113:0 && i8438:0 > 1 && i3901:0 > 0 36.97/11.38 f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630:0), java.lang.Object(o29892sub46706630:0))), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835:0), java.lang.Object(o29892sub1447289835:0))), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835:0), java.lang.Object(o29892sub1447289835:0))), o29478[LinkedList$Entry.next]o29109:0, o29478[LinkedList$Entry.next]o29478:0, o29478[LinkedList$Entry.next]o29478:0, o29478[LinkedList$Entry.next]o29109:0) -> f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630:0), java.lang.Object(o29892sub46706630:0))), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(o30073sub0:0), java.lang.Object(o29112sub0:0), java.lang.Object(o30073sub0:0), o30071[LinkedList$Entry.next]o30069:0, o29493[LinkedList$Entry.next]o29491:0, 1, o29493[LinkedList$Entry.next]o29109:0) :|: o29478[LinkedList$Entry.next]o29109:0 > -1 && o29493[LinkedList$Entry.next]o29109:0 < o29478[LinkedList$Entry.next]o29109:0 && o29493[LinkedList$Entry.next]o29491:0 < o29478[LinkedList$Entry.next]o29478:0 && o29493[LinkedList$Entry.next]o29109:0 > 0 && o29478[LinkedList$Entry.next]o29478:0 > -1 && i8438:0 > 1 && i3901:0 > 0 36.97/11.38 f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630:0), java.lang.Object(javaUtilEx.Content(EOC)))), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835:0), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835:0), java.lang.Object(javaUtilEx.Content(EOC)))), o29478[LinkedList$Entry.next]o29109:0, o29478[LinkedList$Entry.next]o29478:0, o29478[LinkedList$Entry.next]o29478:0, o29478[LinkedList$Entry.next]o29109:0) -> f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630:0), java.lang.Object(javaUtilEx.Content(EOC)))), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30101sub0:0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o30101sub0:0), o30099[LinkedList$Entry.next]o30097:0, o29493[LinkedList$Entry.next]o29491:0, 1, o29493[LinkedList$Entry.next]o29109:0) :|: o29478[LinkedList$Entry.next]o29109:0 > -1 && o29493[LinkedList$Entry.next]o29109:0 < o29478[LinkedList$Entry.next]o29109:0 && o29493[LinkedList$Entry.next]o29491:0 < o29478[LinkedList$Entry.next]o29478:0 && o29493[LinkedList$Entry.next]o29109:0 > 0 && o29478[LinkedList$Entry.next]o29478:0 > -1 && i8438:0 > 1 && i3901:0 > 0 36.97/11.38 f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630:0), NULL)), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835:0), NULL)), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835:0), NULL)), o29478[LinkedList$Entry.next]o29109:0, o29478[LinkedList$Entry.next]o29478:0, o29478[LinkedList$Entry.next]o29478:0, o29478[LinkedList$Entry.next]o29109:0) -> f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630:0), NULL)), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(o30073sub0:0), java.lang.Object(o29112sub0:0), java.lang.Object(o30073sub0:0), o30071[LinkedList$Entry.next]o30069:0, o29493[LinkedList$Entry.next]o29491:0, 1, o29493[LinkedList$Entry.next]o29109:0) :|: o29478[LinkedList$Entry.next]o29109:0 > -1 && o29493[LinkedList$Entry.next]o29109:0 < o29478[LinkedList$Entry.next]o29109:0 && o29493[LinkedList$Entry.next]o29491:0 < o29478[LinkedList$Entry.next]o29478:0 && o29493[LinkedList$Entry.next]o29109:0 > 0 && o29478[LinkedList$Entry.next]o29478:0 > -1 && i8438:0 > 1 && i3901:0 > 0 36.97/11.38 f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060:0), NULL)), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060:0), NULL)), o29111[LinkedList$Entry.next]o29109:0, o29113[LinkedList$Entry.next]o29111:0, o29111[LinkedList$Entry.next]o29113:0, o29113[LinkedList$Entry.next]o29109:0) -> f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(o30005sub0:0), java.lang.Object(o29112sub0:0), java.lang.Object(o30005sub0:0), o29111[LinkedList$Entry.next]o29109:0, o29489[LinkedList$Entry.next]o29111:0, o30001[LinkedList$Entry.next]o30005:0, o29489[LinkedList$Entry.next]o29109:0) :|: o29111[LinkedList$Entry.next]o29113:0 > 0 && o29113[LinkedList$Entry.next]o29111:0 > 0 && o29113[LinkedList$Entry.next]o29109:0 > -1 && o29489[LinkedList$Entry.next]o29109:0 < o29113[LinkedList$Entry.next]o29109:0 && o29489[LinkedList$Entry.next]o29111:0 < o29113[LinkedList$Entry.next]o29111:0 && o29489[LinkedList$Entry.next]o29109:0 > 0 && o30001[LinkedList$Entry.next]o30005:0 > o29111[LinkedList$Entry.next]o29113:0 && i8438:0 > 1 && i3901:0 > 0 36.97/11.38 Removed following non-SCC rules: 36.97/11.38 f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630:0), o2949246706630:0)), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835:0), o294921447289835:0)), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835:0), o294921447289835:0)), o29478[LinkedList$Entry.next]o29109:0, o29478[LinkedList$Entry.next]o29478:0, o29478[LinkedList$Entry.next]o29478:0, o29478[LinkedList$Entry.next]o29109:0) -> f9720_0_equals_Load(EOS(STATIC_9720), java.lang.Object(o29112sub0:0), o294920:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub-1400485400:0), o29492-1400485400:0)), o291101447192061:0)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub1447289835:0), o294921447289835:0)), java.lang.Object(o29493sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29493sub46706630:0), o2949246706630:0)), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), o294920:0, o29493[LinkedList$Entry.next]o29109:0, o29493[LinkedList$Entry.next]o29491:0) :|: o29478[LinkedList$Entry.next]o29109:0 > -1 && o29493[LinkedList$Entry.next]o29109:0 < o29478[LinkedList$Entry.next]o29109:0 && o29493[LinkedList$Entry.next]o29491:0 < o29478[LinkedList$Entry.next]o29478:0 && o29478[LinkedList$Entry.next]o29478:0 > -1 && i8438:0 > 1 && i3901:0 > 0 36.97/11.38 f9251_0_indexOf_FieldAccess(EOS(STATIC_9251), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060:0), o294881447289060:0)), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060:0), o294881447289060:0)), o29111[LinkedList$Entry.next]o29109:0, o29113[LinkedList$Entry.next]o29111:0, o29111[LinkedList$Entry.next]o29113:0, o29113[LinkedList$Entry.next]o29109:0) -> f9658_0_equals_Load(EOS(STATIC_9658), java.lang.Object(o29112sub0:0), o294880:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub1447192061:0), o291101447192061:0)), java.lang.Object(o29111sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29489sub1447289060:0), o294881447289060:0)), java.lang.Object(o29489sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), o294880:0, o29111[LinkedList$Entry.next]o29109:0, o29111[LinkedList$Entry.next]o29113:0, o29489[LinkedList$Entry.next]o29109:0, o29489[LinkedList$Entry.next]o29111:0) :|: o29113[LinkedList$Entry.next]o29111:0 > 0 && o29113[LinkedList$Entry.next]o29109:0 > -1 && o29489[LinkedList$Entry.next]o29109:0 < o29113[LinkedList$Entry.next]o29109:0 && o29489[LinkedList$Entry.next]o29111:0 < o29113[LinkedList$Entry.next]o29111:0 && o29111[LinkedList$Entry.next]o29113:0 > 0 && i8438:0 > 1 && i3901:0 > 0 36.97/11.38 Filtered constant ground arguments: 36.97/11.38 f9251_0_indexOf_FieldAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f9251_0_indexOf_FieldAccess(x2, x3, x4, x5, x6, x7, x8, x9, x10) 36.97/11.38 EOS(x1) -> EOS 36.97/11.38 javaUtilEx.Content(x1) -> javaUtilEx.Content 36.97/11.38 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 36.97/11.38 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 36.97/11.38 Filtered duplicate arguments: 36.97/11.38 f9251_0_indexOf_FieldAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f9251_0_indexOf_FieldAccess(x1, x4, x5, x6, x7, x8, x9) 36.97/11.38 Finished conversion. Obtained 6 rules.P rules: 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29489sub1447289060:0), java.lang.Object(javaUtilEx.Content))), o29111[LinkedList$Entry.next]o29109:0, o29113[LinkedList$Entry.next]o29111:0, o29111[LinkedList$Entry.next]o29113:0, o29113[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o30041sub0:0), o29111[LinkedList$Entry.next]o29109:0, o29489[LinkedList$Entry.next]o29111:0, o30037[LinkedList$Entry.next]o30041:0, o29489[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) :|: o29113[LinkedList$Entry.next]o29111:0 > 0 && o29111[LinkedList$Entry.next]o29113:0 > 0 && o30037[LinkedList$Entry.next]o30041:0 > o29111[LinkedList$Entry.next]o29113:0 && o29113[LinkedList$Entry.next]o29109:0 > -1 && o29489[LinkedList$Entry.next]o29109:0 < o29113[LinkedList$Entry.next]o29109:0 && o29489[LinkedList$Entry.next]o29111:0 < o29113[LinkedList$Entry.next]o29111:0 && o29489[LinkedList$Entry.next]o29109:0 > 0 && i3901:0 > 0 && i8438:0 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29489sub1447289060:0), java.lang.Object(o29812sub1447289060:0))), o29111[LinkedList$Entry.next]o29109:0, o29113[LinkedList$Entry.next]o29111:0, o29111[LinkedList$Entry.next]o29113:0, o29113[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(o30005sub0:0), o29111[LinkedList$Entry.next]o29109:0, o29489[LinkedList$Entry.next]o29111:0, o30001[LinkedList$Entry.next]o30005:0, o29489[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) :|: o29113[LinkedList$Entry.next]o29111:0 > 0 && o29111[LinkedList$Entry.next]o29113:0 > 0 && o29113[LinkedList$Entry.next]o29109:0 > -1 && o29489[LinkedList$Entry.next]o29109:0 < o29113[LinkedList$Entry.next]o29109:0 && o29489[LinkedList$Entry.next]o29111:0 < o29113[LinkedList$Entry.next]o29111:0 && o29489[LinkedList$Entry.next]o29109:0 > 0 && o30001[LinkedList$Entry.next]o30005:0 > o29111[LinkedList$Entry.next]o29113:0 && i3901:0 > 0 && i8438:0 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29493sub46706630:0), java.lang.Object(o29892sub46706630:0))), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29493sub1447289835:0), java.lang.Object(o29892sub1447289835:0))), o29478[LinkedList$Entry.next]o29109:0, o29478[LinkedList$Entry.next]o29478:0, o29478[LinkedList$Entry.next]o29478:0, o29478[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29493sub46706630:0), java.lang.Object(o29892sub46706630:0))), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(o30073sub0:0), o30071[LinkedList$Entry.next]o30069:0, o29493[LinkedList$Entry.next]o29491:0, 1, o29493[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) :|: o29493[LinkedList$Entry.next]o29109:0 < o29478[LinkedList$Entry.next]o29109:0 && o29478[LinkedList$Entry.next]o29109:0 > -1 && o29493[LinkedList$Entry.next]o29491:0 < o29478[LinkedList$Entry.next]o29478:0 && o29493[LinkedList$Entry.next]o29109:0 > 0 && o29478[LinkedList$Entry.next]o29478:0 > -1 && i3901:0 > 0 && i8438:0 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29493sub46706630:0), java.lang.Object(javaUtilEx.Content))), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29493sub1447289835:0), java.lang.Object(javaUtilEx.Content))), o29478[LinkedList$Entry.next]o29109:0, o29478[LinkedList$Entry.next]o29478:0, o29478[LinkedList$Entry.next]o29478:0, o29478[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29493sub46706630:0), java.lang.Object(javaUtilEx.Content))), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o30101sub0:0), o30099[LinkedList$Entry.next]o30097:0, o29493[LinkedList$Entry.next]o29491:0, 1, o29493[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) :|: o29493[LinkedList$Entry.next]o29109:0 < o29478[LinkedList$Entry.next]o29109:0 && o29478[LinkedList$Entry.next]o29109:0 > -1 && o29493[LinkedList$Entry.next]o29491:0 < o29478[LinkedList$Entry.next]o29478:0 && o29493[LinkedList$Entry.next]o29109:0 > 0 && o29478[LinkedList$Entry.next]o29478:0 > -1 && i3901:0 > 0 && i8438:0 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29493sub46706630:0), NULL)), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29493sub1447289835:0), NULL)), o29478[LinkedList$Entry.next]o29109:0, o29478[LinkedList$Entry.next]o29478:0, o29478[LinkedList$Entry.next]o29478:0, o29478[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29493sub46706630:0), NULL)), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(o30073sub0:0), o30071[LinkedList$Entry.next]o30069:0, o29493[LinkedList$Entry.next]o29491:0, 1, o29493[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) :|: o29493[LinkedList$Entry.next]o29109:0 < o29478[LinkedList$Entry.next]o29109:0 && o29478[LinkedList$Entry.next]o29109:0 > -1 && o29493[LinkedList$Entry.next]o29491:0 < o29478[LinkedList$Entry.next]o29478:0 && o29493[LinkedList$Entry.next]o29109:0 > 0 && o29478[LinkedList$Entry.next]o29478:0 > -1 && i3901:0 > 0 && i8438:0 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29489sub1447289060:0), NULL)), o29111[LinkedList$Entry.next]o29109:0, o29113[LinkedList$Entry.next]o29111:0, o29111[LinkedList$Entry.next]o29113:0, o29113[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(o29112sub0:0), java.lang.Object(o30005sub0:0), o29111[LinkedList$Entry.next]o29109:0, o29489[LinkedList$Entry.next]o29111:0, o30001[LinkedList$Entry.next]o30005:0, o29489[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) :|: o29113[LinkedList$Entry.next]o29111:0 > 0 && o29111[LinkedList$Entry.next]o29113:0 > 0 && o29113[LinkedList$Entry.next]o29109:0 > -1 && o29489[LinkedList$Entry.next]o29109:0 < o29113[LinkedList$Entry.next]o29109:0 && o29489[LinkedList$Entry.next]o29111:0 < o29113[LinkedList$Entry.next]o29111:0 && o29489[LinkedList$Entry.next]o29109:0 > 0 && o30001[LinkedList$Entry.next]o30005:0 > o29111[LinkedList$Entry.next]o29113:0 && i3901:0 > 0 && i8438:0 > 1 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (22) 36.97/11.38 Obligation: 36.97/11.38 Rules: 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29489sub1447289060:0), java.lang.Object(javaUtilEx.Content))), o29111[LinkedList$Entry.next]o29109:0, o29113[LinkedList$Entry.next]o29111:0, o29111[LinkedList$Entry.next]o29113:0, o29113[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o30041sub0:0), o29111[LinkedList$Entry.next]o29109:0, o29489[LinkedList$Entry.next]o29111:0, o30037[LinkedList$Entry.next]o30041:0, o29489[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) :|: o29113[LinkedList$Entry.next]o29111:0 > 0 && o29111[LinkedList$Entry.next]o29113:0 > 0 && o30037[LinkedList$Entry.next]o30041:0 > o29111[LinkedList$Entry.next]o29113:0 && o29113[LinkedList$Entry.next]o29109:0 > -1 && o29489[LinkedList$Entry.next]o29109:0 < o29113[LinkedList$Entry.next]o29109:0 && o29489[LinkedList$Entry.next]o29111:0 < o29113[LinkedList$Entry.next]o29111:0 && o29489[LinkedList$Entry.next]o29109:0 > 0 && i3901:0 > 0 && i8438:0 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), x1))))))), java.lang.Object(x2), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x7, x8, x1) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), x1))))))), java.lang.Object(x2), java.lang.Object(x9), x5, x10, x11, x12, x1) :|: x6 > 0 && x7 > 0 && x8 > -1 && x12 < x8 && x10 < x6 && x12 > 0 && x11 > x7 && x13 > 0 && x14 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15), java.lang.Object(x16))), x17))))))), java.lang.Object(x18), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x19), java.lang.Object(x20))), x21, x22, x22, x21, x17) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15), java.lang.Object(x16))), x17))))))), java.lang.Object(x18), java.lang.Object(x23), x24, x25, 1, x26, x17) :|: x26 < x21 && x21 > -1 && x25 < x22 && x26 > 0 && x22 > -1 && x27 > 0 && x28 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(javaUtilEx.Content))), x30))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x31), java.lang.Object(javaUtilEx.Content))), x32, x33, x33, x32, x30) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(javaUtilEx.Content))), x30))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x34), x35, x36, 1, x37, x30) :|: x37 < x32 && x32 > -1 && x36 < x33 && x37 > 0 && x33 > -1 && x38 > 0 && x39 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), NULL)), x41))))))), java.lang.Object(x42), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x43), NULL)), x44, x45, x45, x44, x41) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), NULL)), x41))))))), java.lang.Object(x42), java.lang.Object(x46), x47, x48, 1, x49, x41) :|: x49 < x44 && x44 > -1 && x48 < x45 && x49 > 0 && x45 > -1 && x50 > 0 && x51 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x52), x53))))))), java.lang.Object(x54), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x55), NULL)), x56, x57, x58, x59, x53) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x52), x53))))))), java.lang.Object(x54), java.lang.Object(x60), x56, x61, x62, x63, x53) :|: x57 > 0 && x58 > 0 && x59 > -1 && x63 < x59 && x61 < x57 && x63 > 0 && x62 > x58 && x64 > 0 && x65 > 1 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (23) IRSFormatTransformerProof (EQUIVALENT) 36.97/11.38 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (24) 36.97/11.38 Obligation: 36.97/11.38 Rules: 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29489sub1447289060:0), java.lang.Object(javaUtilEx.Content))), o29111[LinkedList$Entry.next]o29109:0, o29113[LinkedList$Entry.next]o29111:0, o29111[LinkedList$Entry.next]o29113:0, o29113[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o30041sub0:0), o29111[LinkedList$Entry.next]o29109:0, o29489[LinkedList$Entry.next]o29111:0, o30037[LinkedList$Entry.next]o30041:0, o29489[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) :|: o29113[LinkedList$Entry.next]o29111:0 > 0 && o29111[LinkedList$Entry.next]o29113:0 > 0 && o30037[LinkedList$Entry.next]o30041:0 > o29111[LinkedList$Entry.next]o29113:0 && o29113[LinkedList$Entry.next]o29109:0 > -1 && o29489[LinkedList$Entry.next]o29109:0 < o29113[LinkedList$Entry.next]o29109:0 && o29489[LinkedList$Entry.next]o29111:0 < o29113[LinkedList$Entry.next]o29111:0 && o29489[LinkedList$Entry.next]o29109:0 > 0 && i3901:0 > 0 && i8438:0 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), x1))))))), java.lang.Object(x2), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x7, x8, x1) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), x1))))))), java.lang.Object(x2), java.lang.Object(x9), x5, x10, x11, x12, x1) :|: x6 > 0 && x7 > 0 && x8 > -1 && x12 < x8 && x10 < x6 && x12 > 0 && x11 > x7 && x13 > 0 && x14 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15), java.lang.Object(x16))), x17))))))), java.lang.Object(x18), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x19), java.lang.Object(x20))), x21, x22, x22, x21, x17) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15), java.lang.Object(x16))), x17))))))), java.lang.Object(x18), java.lang.Object(x23), x24, x25, 1, x26, x17) :|: x26 < x21 && x21 > -1 && x25 < x22 && x26 > 0 && x22 > -1 && x27 > 0 && x28 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(javaUtilEx.Content))), x30))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x31), java.lang.Object(javaUtilEx.Content))), x32, x33, x33, x32, x30) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(javaUtilEx.Content))), x30))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x34), x35, x36, 1, x37, x30) :|: x37 < x32 && x32 > -1 && x36 < x33 && x37 > 0 && x33 > -1 && x38 > 0 && x39 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), NULL)), x41))))))), java.lang.Object(x42), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x43), NULL)), x44, x45, x45, x44, x41) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), NULL)), x41))))))), java.lang.Object(x42), java.lang.Object(x46), x47, x48, 1, x49, x41) :|: x49 < x44 && x44 > -1 && x48 < x45 && x49 > 0 && x45 > -1 && x50 > 0 && x51 > 1 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x52), x53))))))), java.lang.Object(x54), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x55), NULL)), x56, x57, x58, x59, x53) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x52), x53))))))), java.lang.Object(x54), java.lang.Object(x60), x56, x61, x62, x63, x53) :|: x57 > 0 && x58 > 0 && x59 > -1 && x63 < x59 && x61 < x57 && x63 > 0 && x62 > x58 && x64 > 0 && x65 > 1 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (25) IRSwTTerminationDigraphProof (EQUIVALENT) 36.97/11.38 Constructed termination digraph! 36.97/11.38 Nodes: 36.97/11.38 (1) f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29489sub1447289060:0), java.lang.Object(javaUtilEx.Content))), o29111[LinkedList$Entry.next]o29109:0, o29113[LinkedList$Entry.next]o29111:0, o29111[LinkedList$Entry.next]o29113:0, o29113[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o30041sub0:0), o29111[LinkedList$Entry.next]o29109:0, o29489[LinkedList$Entry.next]o29111:0, o30037[LinkedList$Entry.next]o30041:0, o29489[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) :|: o29113[LinkedList$Entry.next]o29111:0 > 0 && o29111[LinkedList$Entry.next]o29113:0 > 0 && o30037[LinkedList$Entry.next]o30041:0 > o29111[LinkedList$Entry.next]o29113:0 && o29113[LinkedList$Entry.next]o29109:0 > -1 && o29489[LinkedList$Entry.next]o29109:0 < o29113[LinkedList$Entry.next]o29109:0 && o29489[LinkedList$Entry.next]o29111:0 < o29113[LinkedList$Entry.next]o29111:0 && o29489[LinkedList$Entry.next]o29109:0 > 0 && i3901:0 > 0 && i8438:0 > 1 36.97/11.38 (2) f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), x1))))))), java.lang.Object(x2), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x7, x8, x1) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), x1))))))), java.lang.Object(x2), java.lang.Object(x9), x5, x10, x11, x12, x1) :|: x6 > 0 && x7 > 0 && x8 > -1 && x12 < x8 && x10 < x6 && x12 > 0 && x11 > x7 && x13 > 0 && x14 > 1 36.97/11.38 (3) f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15), java.lang.Object(x16))), x17))))))), java.lang.Object(x18), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x19), java.lang.Object(x20))), x21, x22, x22, x21, x17) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15), java.lang.Object(x16))), x17))))))), java.lang.Object(x18), java.lang.Object(x23), x24, x25, 1, x26, x17) :|: x26 < x21 && x21 > -1 && x25 < x22 && x26 > 0 && x22 > -1 && x27 > 0 && x28 > 1 36.97/11.38 (4) f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(javaUtilEx.Content))), x30))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x31), java.lang.Object(javaUtilEx.Content))), x32, x33, x33, x32, x30) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(javaUtilEx.Content))), x30))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x34), x35, x36, 1, x37, x30) :|: x37 < x32 && x32 > -1 && x36 < x33 && x37 > 0 && x33 > -1 && x38 > 0 && x39 > 1 36.97/11.38 (5) f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), NULL)), x41))))))), java.lang.Object(x42), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x43), NULL)), x44, x45, x45, x44, x41) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), NULL)), x41))))))), java.lang.Object(x42), java.lang.Object(x46), x47, x48, 1, x49, x41) :|: x49 < x44 && x44 > -1 && x48 < x45 && x49 > 0 && x45 > -1 && x50 > 0 && x51 > 1 36.97/11.38 (6) f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x52), x53))))))), java.lang.Object(x54), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x55), NULL)), x56, x57, x58, x59, x53) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x52), x53))))))), java.lang.Object(x54), java.lang.Object(x60), x56, x61, x62, x63, x53) :|: x57 > 0 && x58 > 0 && x59 > -1 && x63 < x59 && x61 < x57 && x63 > 0 && x62 > x58 && x64 > 0 && x65 > 1 36.97/11.38 36.97/11.38 Arcs: 36.97/11.38 (1) -> (1), (2), (3), (4), (5), (6) 36.97/11.38 (2) -> (1), (2), (3), (4), (5), (6) 36.97/11.38 (3) -> (1), (2), (3), (4), (6) 36.97/11.38 (4) -> (1), (2), (3), (4), (6) 36.97/11.38 (5) -> (1), (2), (5), (6) 36.97/11.38 (6) -> (1), (2), (3), (4), (5), (6) 36.97/11.38 36.97/11.38 This digraph is fully evaluated! 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (26) 36.97/11.38 Obligation: 36.97/11.38 36.97/11.38 Termination digraph: 36.97/11.38 Nodes: 36.97/11.38 (1) f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29489sub1447289060:0), java.lang.Object(javaUtilEx.Content))), o29111[LinkedList$Entry.next]o29109:0, o29113[LinkedList$Entry.next]o29111:0, o29111[LinkedList$Entry.next]o29113:0, o29113[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0), o29110-1400583205:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o30041sub0:0), o29111[LinkedList$Entry.next]o29109:0, o29489[LinkedList$Entry.next]o29111:0, o30037[LinkedList$Entry.next]o30041:0, o29489[LinkedList$Entry.next]o29109:0, o29110-1400583205:0) :|: o29113[LinkedList$Entry.next]o29111:0 > 0 && o29111[LinkedList$Entry.next]o29113:0 > 0 && o30037[LinkedList$Entry.next]o30041:0 > o29111[LinkedList$Entry.next]o29113:0 && o29113[LinkedList$Entry.next]o29109:0 > -1 && o29489[LinkedList$Entry.next]o29109:0 < o29113[LinkedList$Entry.next]o29109:0 && o29489[LinkedList$Entry.next]o29111:0 < o29113[LinkedList$Entry.next]o29111:0 && o29489[LinkedList$Entry.next]o29109:0 > 0 && i3901:0 > 0 && i8438:0 > 1 36.97/11.38 (2) f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), x1))))))), java.lang.Object(x2), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x7, x8, x1) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), x1))))))), java.lang.Object(x2), java.lang.Object(x9), x5, x10, x11, x12, x1) :|: x6 > 0 && x7 > 0 && x8 > -1 && x12 < x8 && x10 < x6 && x12 > 0 && x11 > x7 && x13 > 0 && x14 > 1 36.97/11.38 (3) f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15), java.lang.Object(x16))), x17))))))), java.lang.Object(x18), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x19), java.lang.Object(x20))), x21, x22, x22, x21, x17) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15), java.lang.Object(x16))), x17))))))), java.lang.Object(x18), java.lang.Object(x23), x24, x25, 1, x26, x17) :|: x26 < x21 && x21 > -1 && x25 < x22 && x26 > 0 && x22 > -1 && x27 > 0 && x28 > 1 36.97/11.38 (4) f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(javaUtilEx.Content))), x30))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x31), java.lang.Object(javaUtilEx.Content))), x32, x33, x33, x32, x30) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(javaUtilEx.Content))), x30))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x34), x35, x36, 1, x37, x30) :|: x37 < x32 && x32 > -1 && x36 < x33 && x37 > 0 && x33 > -1 && x38 > 0 && x39 > 1 36.97/11.38 (5) f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x52), x53))))))), java.lang.Object(x54), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x55), NULL)), x56, x57, x58, x59, x53) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x52), x53))))))), java.lang.Object(x54), java.lang.Object(x60), x56, x61, x62, x63, x53) :|: x57 > 0 && x58 > 0 && x59 > -1 && x63 < x59 && x61 < x57 && x63 > 0 && x62 > x58 && x64 > 0 && x65 > 1 36.97/11.38 (6) f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), NULL)), x41))))))), java.lang.Object(x42), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x43), NULL)), x44, x45, x45, x44, x41) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), NULL)), x41))))))), java.lang.Object(x42), java.lang.Object(x46), x47, x48, 1, x49, x41) :|: x49 < x44 && x44 > -1 && x48 < x45 && x49 > 0 && x45 > -1 && x50 > 0 && x51 > 1 36.97/11.38 36.97/11.38 Arcs: 36.97/11.38 (1) -> (1), (2), (3), (4), (5), (6) 36.97/11.38 (2) -> (1), (2), (3), (4), (5), (6) 36.97/11.38 (3) -> (1), (2), (3), (4), (5) 36.97/11.38 (4) -> (1), (2), (3), (4), (5) 36.97/11.38 (5) -> (1), (2), (3), (4), (5), (6) 36.97/11.38 (6) -> (1), (2), (5), (6) 36.97/11.38 36.97/11.38 This digraph is fully evaluated! 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (27) IntTRSCompressionProof (EQUIVALENT) 36.97/11.38 Compressed rules. 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (28) 36.97/11.38 Obligation: 36.97/11.38 Rules: 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0:0), o29110-1400583205:0:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29489sub1447289060:0:0), java.lang.Object(javaUtilEx.Content))), o29111[LinkedList$Entry.next]o29109:0:0, o29113[LinkedList$Entry.next]o29111:0:0, o29111[LinkedList$Entry.next]o29113:0:0, o29113[LinkedList$Entry.next]o29109:0:0, o29110-1400583205:0:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29111sub-1400583205:0:0), o29110-1400583205:0:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o30041sub0:0:0), o29111[LinkedList$Entry.next]o29109:0:0, o29489[LinkedList$Entry.next]o29111:0:0, o30037[LinkedList$Entry.next]o30041:0:0, o29489[LinkedList$Entry.next]o29109:0:0, o29110-1400583205:0:0) :|: i3901:0:0 > 0 && i8438:0:0 > 1 && o29489[LinkedList$Entry.next]o29109:0:0 > 0 && o29489[LinkedList$Entry.next]o29111:0:0 < o29113[LinkedList$Entry.next]o29111:0:0 && o29489[LinkedList$Entry.next]o29109:0:0 < o29113[LinkedList$Entry.next]o29109:0:0 && o29113[LinkedList$Entry.next]o29109:0:0 > -1 && o30037[LinkedList$Entry.next]o30041:0:0 > o29111[LinkedList$Entry.next]o29113:0:0 && o29111[LinkedList$Entry.next]o29113:0:0 > 0 && o29113[LinkedList$Entry.next]o29111:0:0 > 0 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29:0), java.lang.Object(javaUtilEx.Content))), x30:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x31:0), java.lang.Object(javaUtilEx.Content))), x32:0, x33:0, x33:0, x32:0, x30:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29:0), java.lang.Object(javaUtilEx.Content))), x30:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x34:0), x35:0, x36:0, 1, x37:0, x30:0) :|: x38:0 > 0 && x39:0 > 1 && x33:0 > -1 && x37:0 > 0 && x36:0 < x33:0 && x32:0 > -1 && x37:0 < x32:0 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15:0), java.lang.Object(x16:0))), x17:0))))))), java.lang.Object(x18:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x19:0), java.lang.Object(x20:0))), x21:0, x22:0, x22:0, x21:0, x17:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15:0), java.lang.Object(x16:0))), x17:0))))))), java.lang.Object(x18:0), java.lang.Object(x23:0), x24:0, x25:0, 1, x26:0, x17:0) :|: x27:0 > 0 && x28:0 > 1 && x22:0 > -1 && x26:0 > 0 && x25:0 < x22:0 && x21:0 > -1 && x26:0 < x21:0 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x52:0), x53:0))))))), java.lang.Object(x54:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x55:0), NULL)), x56:0, x57:0, x58:0, x59:0, x53:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x52:0), x53:0))))))), java.lang.Object(x54:0), java.lang.Object(x60:0), x56:0, x61:0, x62:0, x63:0, x53:0) :|: x64:0 > 0 && x65:0 > 1 && x62:0 > x58:0 && x63:0 > 0 && x61:0 < x57:0 && x63:0 < x59:0 && x59:0 > -1 && x58:0 > 0 && x57:0 > 0 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40:0), NULL)), x41:0))))))), java.lang.Object(x42:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x43:0), NULL)), x44:0, x45:0, x45:0, x44:0, x41:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40:0), NULL)), x41:0))))))), java.lang.Object(x42:0), java.lang.Object(x46:0), x47:0, x48:0, 1, x49:0, x41:0) :|: x50:0 > 0 && x51:0 > 1 && x45:0 > -1 && x49:0 > 0 && x48:0 < x45:0 && x44:0 > -1 && x49:0 < x44:0 36.97/11.38 f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x:0), x1:0))))))), java.lang.Object(x2:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3:0), java.lang.Object(x4:0))), x5:0, x6:0, x7:0, x8:0, x1:0) -> f9251_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x:0), x1:0))))))), java.lang.Object(x2:0), java.lang.Object(x9:0), x5:0, x10:0, x11:0, x12:0, x1:0) :|: x13:0 > 0 && x14:0 > 1 && x7:0 < x11:0 && x12:0 > 0 && x6:0 > x10:0 && x8:0 > x12:0 && x8:0 > -1 && x7:0 > 0 && x6:0 > 0 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (29) TempFilterProof (SOUND) 36.97/11.38 Used the following sort dictionary for filtering: 36.97/11.38 f9251_0_indexOf_FieldAccess(VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, VARIABLE, INTEGER, VARIABLE) 36.97/11.38 java.lang.Object(VARIABLE) 36.97/11.38 javaUtilEx.AbstractCollection(VARIABLE) 36.97/11.38 javaUtilEx.AbstractList(VARIABLE) 36.97/11.38 javaUtilEx.AbstractSequentialList(VARIABLE) 36.97/11.38 javaUtilEx.LinkedList(VARIABLE) 36.97/11.38 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 36.97/11.38 javaUtilEx.Content() 36.97/11.38 NULL() 36.97/11.38 Replaced non-predefined constructor symbols by 0. 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (30) 36.97/11.38 Obligation: 36.97/11.38 Rules: 36.97/11.38 f9251_0_indexOf_FieldAccess(c, c1, c2, o29111[LinkedList$Entry.next]o29109:0:0, o29113[LinkedList$Entry.next]o29111:0:0, o29111[LinkedList$Entry.next]o29113:0:0, o29113[LinkedList$Entry.next]o29109:0:0, o29110-1400583205:0:0) -> f9251_0_indexOf_FieldAccess(c3, c4, c5, o29111[LinkedList$Entry.next]o29109:0:0, o29489[LinkedList$Entry.next]o29111:0:0, o30037[LinkedList$Entry.next]o30041:0:0, o29489[LinkedList$Entry.next]o29109:0:0, o29110-1400583205:0:0) :|: c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (i3901:0:0 > 0 && i8438:0:0 > 1 && o29489[LinkedList$Entry.next]o29109:0:0 > 0 && o29489[LinkedList$Entry.next]o29111:0:0 < o29113[LinkedList$Entry.next]o29111:0:0 && o29489[LinkedList$Entry.next]o29109:0:0 < o29113[LinkedList$Entry.next]o29109:0:0 && o29113[LinkedList$Entry.next]o29109:0:0 > -1 && o30037[LinkedList$Entry.next]o30041:0:0 > o29111[LinkedList$Entry.next]o29113:0:0 && o29111[LinkedList$Entry.next]o29113:0:0 > 0 && o29113[LinkedList$Entry.next]o29111:0:0 > 0) 36.97/11.38 f9251_0_indexOf_FieldAccess(c6, c7, c8, x32:0, x33:0, x33:0, x32:0, x30:0) -> f9251_0_indexOf_FieldAccess(c9, c10, c11, x35:0, x36:0, c12, x37:0, x30:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && (c7 = 0 && c6 = 0))))) && (x38:0 > 0 && x39:0 > 1 && x33:0 > -1 && x37:0 > 0 && x36:0 < x33:0 && x32:0 > -1 && x37:0 < x32:0) 36.97/11.38 f9251_0_indexOf_FieldAccess(c20, c21, c22, x56:0, x57:0, x58:0, x59:0, x53:0) -> f9251_0_indexOf_FieldAccess(c23, c24, c25, x56:0, x61:0, x62:0, x63:0, x53:0) :|: c25 = 0 && (c24 = 0 && (c23 = 0 && (c22 = 0 && (c21 = 0 && c20 = 0)))) && (x64:0 > 0 && x65:0 > 1 && x62:0 > x58:0 && x63:0 > 0 && x61:0 < x57:0 && x63:0 < x59:0 && x59:0 > -1 && x58:0 > 0 && x57:0 > 0) 36.97/11.38 f9251_0_indexOf_FieldAccess(c33, c34, c35, x5:0, x6:0, x7:0, x8:0, x1:0) -> f9251_0_indexOf_FieldAccess(c36, c37, c38, x5:0, x10:0, x11:0, x12:0, x1:0) :|: c38 = 0 && (c37 = 0 && (c36 = 0 && (c35 = 0 && (c34 = 0 && c33 = 0)))) && (x13:0 > 0 && x14:0 > 1 && x7:0 < x11:0 && x12:0 > 0 && x6:0 > x10:0 && x8:0 > x12:0 && x8:0 > -1 && x7:0 > 0 && x6:0 > 0) 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (31) RankingReductionPairProof (EQUIVALENT) 36.97/11.38 Interpretation: 36.97/11.38 [ f9251_0_indexOf_FieldAccess ] = f9251_0_indexOf_FieldAccess_7 36.97/11.38 36.97/11.38 The following rules are decreasing: 36.97/11.38 f9251_0_indexOf_FieldAccess(c, c1, c2, o29111[LinkedList$Entry.next]o29109:0:0, o29113[LinkedList$Entry.next]o29111:0:0, o29111[LinkedList$Entry.next]o29113:0:0, o29113[LinkedList$Entry.next]o29109:0:0, o29110-1400583205:0:0) -> f9251_0_indexOf_FieldAccess(c3, c4, c5, o29111[LinkedList$Entry.next]o29109:0:0, o29489[LinkedList$Entry.next]o29111:0:0, o30037[LinkedList$Entry.next]o30041:0:0, o29489[LinkedList$Entry.next]o29109:0:0, o29110-1400583205:0:0) :|: c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (i3901:0:0 > 0 && i8438:0:0 > 1 && o29489[LinkedList$Entry.next]o29109:0:0 > 0 && o29489[LinkedList$Entry.next]o29111:0:0 < o29113[LinkedList$Entry.next]o29111:0:0 && o29489[LinkedList$Entry.next]o29109:0:0 < o29113[LinkedList$Entry.next]o29109:0:0 && o29113[LinkedList$Entry.next]o29109:0:0 > -1 && o30037[LinkedList$Entry.next]o30041:0:0 > o29111[LinkedList$Entry.next]o29113:0:0 && o29111[LinkedList$Entry.next]o29113:0:0 > 0 && o29113[LinkedList$Entry.next]o29111:0:0 > 0) 36.97/11.38 f9251_0_indexOf_FieldAccess(c6, c7, c8, x32:0, x33:0, x33:0, x32:0, x30:0) -> f9251_0_indexOf_FieldAccess(c9, c10, c11, x35:0, x36:0, c12, x37:0, x30:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && (c7 = 0 && c6 = 0))))) && (x38:0 > 0 && x39:0 > 1 && x33:0 > -1 && x37:0 > 0 && x36:0 < x33:0 && x32:0 > -1 && x37:0 < x32:0) 36.97/11.38 f9251_0_indexOf_FieldAccess(c20, c21, c22, x56:0, x57:0, x58:0, x59:0, x53:0) -> f9251_0_indexOf_FieldAccess(c23, c24, c25, x56:0, x61:0, x62:0, x63:0, x53:0) :|: c25 = 0 && (c24 = 0 && (c23 = 0 && (c22 = 0 && (c21 = 0 && c20 = 0)))) && (x64:0 > 0 && x65:0 > 1 && x62:0 > x58:0 && x63:0 > 0 && x61:0 < x57:0 && x63:0 < x59:0 && x59:0 > -1 && x58:0 > 0 && x57:0 > 0) 36.97/11.38 f9251_0_indexOf_FieldAccess(c33, c34, c35, x5:0, x6:0, x7:0, x8:0, x1:0) -> f9251_0_indexOf_FieldAccess(c36, c37, c38, x5:0, x10:0, x11:0, x12:0, x1:0) :|: c38 = 0 && (c37 = 0 && (c36 = 0 && (c35 = 0 && (c34 = 0 && c33 = 0)))) && (x13:0 > 0 && x14:0 > 1 && x7:0 < x11:0 && x12:0 > 0 && x6:0 > x10:0 && x8:0 > x12:0 && x8:0 > -1 && x7:0 > 0 && x6:0 > 0) 36.97/11.38 36.97/11.38 The following rules are bounded: 36.97/11.38 f9251_0_indexOf_FieldAccess(c, c1, c2, o29111[LinkedList$Entry.next]o29109:0:0, o29113[LinkedList$Entry.next]o29111:0:0, o29111[LinkedList$Entry.next]o29113:0:0, o29113[LinkedList$Entry.next]o29109:0:0, o29110-1400583205:0:0) -> f9251_0_indexOf_FieldAccess(c3, c4, c5, o29111[LinkedList$Entry.next]o29109:0:0, o29489[LinkedList$Entry.next]o29111:0:0, o30037[LinkedList$Entry.next]o30041:0:0, o29489[LinkedList$Entry.next]o29109:0:0, o29110-1400583205:0:0) :|: c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (i3901:0:0 > 0 && i8438:0:0 > 1 && o29489[LinkedList$Entry.next]o29109:0:0 > 0 && o29489[LinkedList$Entry.next]o29111:0:0 < o29113[LinkedList$Entry.next]o29111:0:0 && o29489[LinkedList$Entry.next]o29109:0:0 < o29113[LinkedList$Entry.next]o29109:0:0 && o29113[LinkedList$Entry.next]o29109:0:0 > -1 && o30037[LinkedList$Entry.next]o30041:0:0 > o29111[LinkedList$Entry.next]o29113:0:0 && o29111[LinkedList$Entry.next]o29113:0:0 > 0 && o29113[LinkedList$Entry.next]o29111:0:0 > 0) 36.97/11.38 f9251_0_indexOf_FieldAccess(c6, c7, c8, x32:0, x33:0, x33:0, x32:0, x30:0) -> f9251_0_indexOf_FieldAccess(c9, c10, c11, x35:0, x36:0, c12, x37:0, x30:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && (c7 = 0 && c6 = 0))))) && (x38:0 > 0 && x39:0 > 1 && x33:0 > -1 && x37:0 > 0 && x36:0 < x33:0 && x32:0 > -1 && x37:0 < x32:0) 36.97/11.38 f9251_0_indexOf_FieldAccess(c20, c21, c22, x56:0, x57:0, x58:0, x59:0, x53:0) -> f9251_0_indexOf_FieldAccess(c23, c24, c25, x56:0, x61:0, x62:0, x63:0, x53:0) :|: c25 = 0 && (c24 = 0 && (c23 = 0 && (c22 = 0 && (c21 = 0 && c20 = 0)))) && (x64:0 > 0 && x65:0 > 1 && x62:0 > x58:0 && x63:0 > 0 && x61:0 < x57:0 && x63:0 < x59:0 && x59:0 > -1 && x58:0 > 0 && x57:0 > 0) 36.97/11.38 f9251_0_indexOf_FieldAccess(c33, c34, c35, x5:0, x6:0, x7:0, x8:0, x1:0) -> f9251_0_indexOf_FieldAccess(c36, c37, c38, x5:0, x10:0, x11:0, x12:0, x1:0) :|: c38 = 0 && (c37 = 0 && (c36 = 0 && (c35 = 0 && (c34 = 0 && c33 = 0)))) && (x13:0 > 0 && x14:0 > 1 && x7:0 < x11:0 && x12:0 > 0 && x6:0 > x10:0 && x8:0 > x12:0 && x8:0 > -1 && x7:0 > 0 && x6:0 > 0) 36.97/11.38 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (32) 36.97/11.38 YES 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (33) 36.97/11.38 Obligation: 36.97/11.38 SCC of termination graph based on JBC Program. 36.97/11.38 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateContains.main([Ljava/lang/String;)V 36.97/11.38 SCC calls the following helper methods: javaUtilEx.Content.equals(Ljava/lang/Object;)Z 36.97/11.38 Performed SCC analyses: 36.97/11.38 *Used field analysis yielded the following read fields: 36.97/11.38 *javaUtilEx.LinkedList$Entry: [next, element] 36.97/11.38 *javaUtilEx.LinkedList: [header] 36.97/11.38 *Marker field analysis yielded the following relations that could be markers: 36.97/11.38 36.97/11.38 ---------------------------------------- 36.97/11.38 36.97/11.38 (34) SCCToIRSProof (SOUND) 36.97/11.38 Transformed FIGraph SCCs to intTRSs. Log: 36.97/11.38 Generated rules. Obtained 69 IRulesP rules: 36.97/11.38 f9323_0_indexOf_EQ(EOS(STATIC_9323), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29955sub1447435008), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29950[LinkedList$Entry.next]o29953, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950) -> f9335_0_indexOf_Inc(EOS(STATIC_9335), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29955sub1447435008), java.lang.Object(javaUtilEx.Content(EOC)))), o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29950[LinkedList$Entry.next]o29953, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950) :|: TRUE && matching1 = 0 36.97/11.38 f9335_0_indexOf_Inc(EOS(STATIC_9335), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29955sub1447435008), java.lang.Object(javaUtilEx.Content(EOC)))), o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29950[LinkedList$Entry.next]o29953, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950) -> f9347_0_indexOf_Load(EOS(STATIC_9347), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29955sub1447435008), java.lang.Object(javaUtilEx.Content(EOC)))), o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29950[LinkedList$Entry.next]o29953, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950) :|: TRUE 36.97/11.38 f9347_0_indexOf_Load(EOS(STATIC_9347), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29955sub1447435008), java.lang.Object(javaUtilEx.Content(EOC)))), o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29950[LinkedList$Entry.next]o29953, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950) -> f9356_0_indexOf_FieldAccess(EOS(STATIC_9356), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29955sub1447435008), java.lang.Object(javaUtilEx.Content(EOC)))), o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29950[LinkedList$Entry.next]o29953, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950) :|: TRUE 36.97/11.38 f9356_0_indexOf_FieldAccess(EOS(STATIC_9356), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29955sub1447435008), java.lang.Object(javaUtilEx.Content(EOC)))), o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29950[LinkedList$Entry.next]o29953, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950) -> f9364_0_indexOf_Store(EOS(STATIC_9364), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29955sub0), o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950, o29950[LinkedList$Entry.next]o29955) :|: o29950[LinkedList$Entry.next]o29955 > o29950[LinkedList$Entry.next]o29953 && o29950[LinkedList$Entry.next]o29953 >= 0 36.97/11.38 f9364_0_indexOf_Store(EOS(STATIC_9364), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29955sub0), o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950, o29950[LinkedList$Entry.next]o29955) -> f9372_0_indexOf_JMP(EOS(STATIC_9372), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29955sub0), o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950, o29950[LinkedList$Entry.next]o29955) :|: TRUE 36.97/11.38 f9372_0_indexOf_JMP(EOS(STATIC_9372), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29955sub0), o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950, o29950[LinkedList$Entry.next]o29955) -> f9379_0_indexOf_Load(EOS(STATIC_9379), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29955sub0), o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950, o29950[LinkedList$Entry.next]o29955) :|: TRUE 36.97/11.38 f9379_0_indexOf_Load(EOS(STATIC_9379), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29955sub0), o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950, o29950[LinkedList$Entry.next]o29955) -> f9228_0_indexOf_Load(EOS(STATIC_9228), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29955sub0), o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950, o29950[LinkedList$Entry.next]o29955) :|: TRUE 36.97/11.38 f9228_0_indexOf_Load(EOS(STATIC_9228), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970) -> f9232_0_indexOf_Load(EOS(STATIC_9232), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), java.lang.Object(o28970sub0), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970) :|: TRUE 36.97/11.38 f9232_0_indexOf_Load(EOS(STATIC_9232), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), java.lang.Object(o28970sub0), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970) -> f9234_0_indexOf_FieldAccess(EOS(STATIC_9234), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), java.lang.Object(o28970sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970) :|: TRUE 36.97/11.38 f9234_0_indexOf_FieldAccess(EOS(STATIC_9234), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), java.lang.Object(o28970sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970) -> f9236_0_indexOf_EQ(EOS(STATIC_9236), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), java.lang.Object(o28970sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub1446512510), o289661446512510)), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970) :|: TRUE 36.97/11.38 f9236_0_indexOf_EQ(EOS(STATIC_9236), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), java.lang.Object(o28970sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub1446512510), o289661446512510)), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970) -> f9238_0_indexOf_EQ(EOS(STATIC_9238), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), java.lang.Object(o28970sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub1446512510), o289661446512510)), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970, o28970[LinkedList$Entry.next]o28965) :|: o28970[LinkedList$Entry.next]o28965 > 0 36.97/11.38 f9238_0_indexOf_EQ(EOS(STATIC_9238), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), java.lang.Object(o28970sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub1446512510), o289661446512510)), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970, o28970[LinkedList$Entry.next]o28965) -> f9242_0_indexOf_Load(EOS(STATIC_9242), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970, o28970[LinkedList$Entry.next]o28965) :|: TRUE 36.97/11.38 f9242_0_indexOf_Load(EOS(STATIC_9242), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970, o28970[LinkedList$Entry.next]o28965) -> f9246_0_indexOf_Load(EOS(STATIC_9246), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), java.lang.Object(o28969sub0), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970, o28970[LinkedList$Entry.next]o28965) :|: TRUE 36.97/11.38 f9246_0_indexOf_Load(EOS(STATIC_9246), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), java.lang.Object(o28969sub0), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970, o28970[LinkedList$Entry.next]o28965) -> f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970, o28970[LinkedList$Entry.next]o28965) :|: TRUE 36.97/11.38 f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967, o28967[LinkedList$Entry.next]o28970, o28970[LinkedList$Entry.next]o28965) -> f9252_0_indexOf_FieldAccess(EOS(STATIC_9252), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), java.lang.Object(o28969sub0), java.lang.Object(o28970sub0), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o28970, o28970[LinkedList$Entry.next]o28965, o28970[LinkedList$Entry.next]o28967) :|: o28970[LinkedList$Entry.next]o28967 > 0 && o28967[LinkedList$Entry.next]o28970 > 0 36.97/11.38 f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29475sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o29475sub0), java.lang.Object(o28969sub0), java.lang.Object(o29475sub0), o28968[LinkedList$Entry.previous]o28965, o29475[LinkedList$Entry.next]o28965, o29475[LinkedList$Entry.next]o29475, o29475[LinkedList$Entry.next]o29475, o29475[LinkedList$Entry.next]o28965) -> f9253_0_indexOf_FieldAccess(EOS(STATIC_9253), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29475sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(o29475sub0), java.lang.Object(o28969sub0), java.lang.Object(o29475sub0), o28968[LinkedList$Entry.previous]o28965, o29475[LinkedList$Entry.next]o28965, o29475[LinkedList$Entry.next]o29475) :|: TRUE 36.97/11.38 f9252_0_indexOf_FieldAccess(EOS(STATIC_9252), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), o294801447288161)), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), o294801447288161)), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29479[LinkedList$Entry.next]o28965, o29479[LinkedList$Entry.next]o28967) -> f9257_0_indexOf_FieldAccess(EOS(STATIC_9257), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), o294801447288161)), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), o294801447288161)), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) :|: o29481[LinkedList$Entry.next]o28965 < o29479[LinkedList$Entry.next]o28965 && o29479[LinkedList$Entry.next]o28965 >= 0 && o29481[LinkedList$Entry.next]o28967 < o29479[LinkedList$Entry.next]o28967 && o29479[LinkedList$Entry.next]o28967 >= 0 36.97/11.38 f9257_0_indexOf_FieldAccess(EOS(STATIC_9257), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), o294801447288161)), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), o294801447288161)), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) -> f9262_0_indexOf_InvokeMethod(EOS(STATIC_9262), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), o294801447288161)), java.lang.Object(o28969sub0), o294800, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) :|: TRUE 36.97/11.38 f9262_0_indexOf_InvokeMethod(EOS(STATIC_9262), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), o294801447288161)), java.lang.Object(o28969sub0), o294800, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) -> f9267_0_equals_Load(EOS(STATIC_9267), java.lang.Object(o28969sub0), o294800, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub1446512510), o289661446512510)), java.lang.Object(o28967sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), o294801447288161)), java.lang.Object(o29481sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), o294800, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) :|: i8389 > 1 && i3901 >= 1 36.97/11.38 f9262_0_indexOf_InvokeMethod(EOS(STATIC_9262), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), o294801447288161)), java.lang.Object(o28969sub0), o294800, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) -> f9267_1_equals_Load(EOS(STATIC_9267), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), o294801447288161)), java.lang.Object(o28969sub0), o294800, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) :|: i8389 > 1 && i3901 >= 1 36.97/11.38 f9267_0_equals_Load(EOS(STATIC_9267), java.lang.Object(o28969sub0), o294800, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub1446512510), o289661446512510)), java.lang.Object(o28967sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), o294801447288161)), java.lang.Object(o29481sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), o294800, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) -> f9890_0_equals_Load(EOS(STATIC_9890), java.lang.Object(o28969sub0), o294800, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub1446512510), o289661446512510)), java.lang.Object(o28967sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), o294801447288161)), java.lang.Object(o29481sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o28969sub0), o294800, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) :|: TRUE 36.97/11.38 f9286_0_equals_Return(EOS(STATIC_9286), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o29630sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), NULL)), matching1, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) -> f9288_0_equals_Return(EOS(STATIC_9288), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o29630sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), NULL)), 0, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) :|: TRUE && matching1 = 0 36.97/11.38 f9288_0_equals_Return(EOS(STATIC_9288), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29937sub1447433148), o299361447433148)), matching1, o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29932[LinkedList$Entry.next]o29935, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932) -> f9313_0_indexOf_EQ(EOS(STATIC_9313), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29937sub1447433148), o299361447433148)), 0, o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29932[LinkedList$Entry.next]o29935, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932) :|: TRUE && matching1 = 0 36.97/11.38 f9313_0_indexOf_EQ(EOS(STATIC_9313), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29937sub1447433148), o299361447433148)), matching1, o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29932[LinkedList$Entry.next]o29935, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932) -> f9321_0_indexOf_Inc(EOS(STATIC_9321), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29937sub1447433148), o299361447433148)), o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29932[LinkedList$Entry.next]o29935, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932) :|: TRUE && matching1 = 0 36.97/11.38 f9321_0_indexOf_Inc(EOS(STATIC_9321), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29937sub1447433148), o299361447433148)), o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29932[LinkedList$Entry.next]o29935, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932) -> f9333_0_indexOf_Load(EOS(STATIC_9333), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29937sub1447433148), o299361447433148)), o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29932[LinkedList$Entry.next]o29935, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932) :|: TRUE 36.97/11.38 f9333_0_indexOf_Load(EOS(STATIC_9333), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29937sub1447433148), o299361447433148)), o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29932[LinkedList$Entry.next]o29935, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932) -> f9345_0_indexOf_FieldAccess(EOS(STATIC_9345), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29937sub1447433148), o299361447433148)), o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29932[LinkedList$Entry.next]o29935, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932) :|: TRUE 36.97/11.38 f9345_0_indexOf_FieldAccess(EOS(STATIC_9345), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29937sub1447433148), o299361447433148)), o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29932[LinkedList$Entry.next]o29935, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932) -> f9354_0_indexOf_Store(EOS(STATIC_9354), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(o29937sub0), o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932, o29932[LinkedList$Entry.next]o29937) :|: o29932[LinkedList$Entry.next]o29937 > o29932[LinkedList$Entry.next]o29935 && o29932[LinkedList$Entry.next]o29935 >= 0 36.97/11.38 f9354_0_indexOf_Store(EOS(STATIC_9354), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(o29937sub0), o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932, o29932[LinkedList$Entry.next]o29937) -> f9363_0_indexOf_JMP(EOS(STATIC_9363), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(o29937sub0), o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932, o29932[LinkedList$Entry.next]o29937) :|: TRUE 36.97/11.38 f9363_0_indexOf_JMP(EOS(STATIC_9363), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(o29937sub0), o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932, o29932[LinkedList$Entry.next]o29937) -> f9371_0_indexOf_Load(EOS(STATIC_9371), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(o29937sub0), o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932, o29932[LinkedList$Entry.next]o29937) :|: TRUE 36.97/11.38 f9371_0_indexOf_Load(EOS(STATIC_9371), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(o29937sub0), o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932, o29932[LinkedList$Entry.next]o29937) -> f9228_0_indexOf_Load(EOS(STATIC_9228), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29932sub-1400101992), o29931-1400101992))))))), java.lang.Object(o29934sub0), java.lang.Object(o29937sub0), o29933[LinkedList$Entry.previous]o29930, o29932[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29930, o29937[LinkedList$Entry.next]o29932, o29932[LinkedList$Entry.next]o29937) :|: TRUE 36.97/11.38 f9287_0_equals_Return(EOS(STATIC_9287), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o29644sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), java.lang.Object(o29646sub1447288161))), matching1, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) -> f9288_0_equals_Return(EOS(STATIC_9288), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o29644sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), java.lang.Object(o29646sub1447288161))), 0, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) :|: TRUE && matching1 = 0 36.97/11.38 f9289_0_equals_Return(EOS(STATIC_9289), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) -> f9291_0_equals_Return(EOS(STATIC_9291), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) :|: TRUE && matching1 = 0 36.97/11.38 f9291_0_equals_Return(EOS(STATIC_9291), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29955sub1447435008), java.lang.Object(javaUtilEx.Content(EOC)))), i8640, o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29950[LinkedList$Entry.next]o29953, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950) -> f9314_0_indexOf_EQ(EOS(STATIC_9314), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29955sub1447435008), java.lang.Object(javaUtilEx.Content(EOC)))), i8640, o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29950[LinkedList$Entry.next]o29953, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950) :|: TRUE 36.97/11.38 f9314_0_indexOf_EQ(EOS(STATIC_9314), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29955sub1447435008), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29950[LinkedList$Entry.next]o29953, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950) -> f9323_0_indexOf_EQ(EOS(STATIC_9323), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29950sub-1400098923), o29949-1400098923))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29955sub1447435008), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o29951[LinkedList$Entry.previous]o29948, o29950[LinkedList$Entry.next]o29948, o29950[LinkedList$Entry.next]o29953, o29955[LinkedList$Entry.next]o29948, o29955[LinkedList$Entry.next]o29950) :|: TRUE && matching1 = 0 36.97/11.38 f9290_0_equals_Return(EOS(STATIC_9290), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) -> f9291_0_equals_Return(EOS(STATIC_9291), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) :|: TRUE && matching1 = 1 36.97/11.38 f9253_0_indexOf_FieldAccess(EOS(STATIC_9253), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), o2948445346629)), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), o294841447288936)), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), o294841447288936)), o28968[LinkedList$Entry.previous]o28965, o29483[LinkedList$Entry.next]o28965, o29483[LinkedList$Entry.next]o29483) -> f9258_0_indexOf_FieldAccess(EOS(STATIC_9258), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), o2948445346629)), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), o294841447288936)), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), o294841447288936)), o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) :|: o29485[LinkedList$Entry.next]o28965 < o29483[LinkedList$Entry.next]o28965 && o29483[LinkedList$Entry.next]o28965 >= 0 && o29485[LinkedList$Entry.next]o29483 < o29483[LinkedList$Entry.next]o29483 && o29483[LinkedList$Entry.next]o29483 >= 0 36.97/11.38 f9258_0_indexOf_FieldAccess(EOS(STATIC_9258), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), o2948445346629)), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), o294841447288936)), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), o294841447288936)), o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) -> f9263_0_indexOf_InvokeMethod(EOS(STATIC_9263), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), o2948445346629)), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), o294841447288936)), java.lang.Object(o28969sub0), o294840, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) :|: TRUE 36.97/11.38 f9263_0_indexOf_InvokeMethod(EOS(STATIC_9263), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), o2948445346629)), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), o294841447288936)), java.lang.Object(o28969sub0), o294840, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) -> f9268_0_equals_Load(EOS(STATIC_9268), java.lang.Object(o28969sub0), o294840, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub-1401165850), o29484-1401165850)), o289661446512510)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), o294841447288936)), java.lang.Object(o29485sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), o2948445346629)), o28966-1401942307))))))), java.lang.Object(o28969sub0), o294840, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) :|: i8389 > 1 && i3901 >= 1 36.97/11.38 f9263_0_indexOf_InvokeMethod(EOS(STATIC_9263), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), o2948445346629)), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), o294841447288936)), java.lang.Object(o28969sub0), o294840, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) -> f9268_1_equals_Load(EOS(STATIC_9268), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), o2948445346629)), o28966-1401942307))))))), java.lang.Object(o28969sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), o294841447288936)), java.lang.Object(o28969sub0), o294840, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) :|: i8389 > 1 && i3901 >= 1 36.97/11.38 f9268_0_equals_Load(EOS(STATIC_9268), java.lang.Object(o28969sub0), o294840, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub-1401165850), o29484-1401165850)), o289661446512510)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), o294841447288936)), java.lang.Object(o29485sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), o2948445346629)), o28966-1401942307))))))), java.lang.Object(o28969sub0), o294840, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) -> f9952_0_equals_Load(EOS(STATIC_9952), java.lang.Object(o28969sub0), o294840, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub-1401165850), o29484-1401165850)), o289661446512510)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), o294841447288936)), java.lang.Object(o29485sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), o2948445346629)), o28966-1401942307))))))), java.lang.Object(o28969sub0), o294840, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) :|: TRUE 36.97/11.38 f9293_0_equals_Return(EOS(STATIC_9293), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), NULL)), o28966-1401942307))))))), java.lang.Object(o29715sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), NULL)), matching1, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) -> f9295_0_equals_Return(EOS(STATIC_9295), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), NULL)), o28966-1401942307))))))), java.lang.Object(o29715sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), NULL)), 0, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) :|: TRUE && matching1 = 0 36.97/11.38 f9295_0_equals_Return(EOS(STATIC_9295), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub1447436031), o299661447436031)), matching1, o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) -> f9315_0_indexOf_EQ(EOS(STATIC_9315), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub1447436031), o299661447436031)), 0, o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) :|: TRUE && matching1 = 0 36.97/11.38 f9315_0_indexOf_EQ(EOS(STATIC_9315), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub1447436031), o299661447436031)), matching1, o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) -> f9324_0_indexOf_Inc(EOS(STATIC_9324), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub1447436031), o299661447436031)), o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) :|: TRUE && matching1 = 0 36.97/11.38 f9324_0_indexOf_Inc(EOS(STATIC_9324), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub1447436031), o299661447436031)), o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) -> f9336_0_indexOf_Load(EOS(STATIC_9336), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub1447436031), o299661447436031)), o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) :|: TRUE 36.97/11.38 f9336_0_indexOf_Load(EOS(STATIC_9336), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub1447436031), o299661447436031)), o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) -> f9348_0_indexOf_FieldAccess(EOS(STATIC_9348), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub1447436031), o299661447436031)), o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) :|: TRUE 36.97/11.38 f9348_0_indexOf_FieldAccess(EOS(STATIC_9348), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub1447436031), o299661447436031)), o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) -> f9357_0_indexOf_Store(EOS(STATIC_9357), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(o29967sub0), o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) :|: TRUE 36.97/11.38 f9357_0_indexOf_Store(EOS(STATIC_9357), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(o29967sub0), o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) -> f9365_0_indexOf_JMP(EOS(STATIC_9365), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(o29967sub0), o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) :|: TRUE 36.97/11.38 f9365_0_indexOf_JMP(EOS(STATIC_9365), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(o29967sub0), o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) -> f9373_0_indexOf_Load(EOS(STATIC_9373), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(o29967sub0), o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) :|: TRUE 36.97/11.38 f9373_0_indexOf_Load(EOS(STATIC_9373), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(o29967sub0), o29969[LinkedList$Entry.previous]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965) -> f9228_0_indexOf_Load(EOS(STATIC_9228), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29967sub47340642), o2996647340642)), o29964-1400095389))))))), java.lang.Object(o29970sub0), java.lang.Object(o29967sub0), o29969[LinkedList$Entry.previous]o29963, o29965[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29963, o29967[LinkedList$Entry.next]o29965, o29965[LinkedList$Entry.next]o29967) :|: o29965[LinkedList$Entry.next]o29967 = 1 36.97/11.38 f9294_0_equals_Return(EOS(STATIC_9294), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), java.lang.Object(o29730sub45346629))), o28966-1401942307))))))), java.lang.Object(o29728sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), java.lang.Object(o29730sub1447288936))), matching1, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) -> f9295_0_equals_Return(EOS(STATIC_9295), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), java.lang.Object(o29730sub45346629))), o28966-1401942307))))))), java.lang.Object(o29728sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), java.lang.Object(o29730sub1447288936))), 0, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) :|: TRUE && matching1 = 0 36.97/11.38 f9296_0_equals_Return(EOS(STATIC_9296), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), java.lang.Object(javaUtilEx.Content(EOC)))), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) -> f9298_0_equals_Return(EOS(STATIC_9298), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), java.lang.Object(javaUtilEx.Content(EOC)))), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) :|: TRUE && matching1 = 0 36.97/11.38 f9298_0_equals_Return(EOS(STATIC_9298), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub1447437860), java.lang.Object(javaUtilEx.Content(EOC)))), i8650, o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) -> f9316_0_indexOf_EQ(EOS(STATIC_9316), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub1447437860), java.lang.Object(javaUtilEx.Content(EOC)))), i8650, o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) :|: TRUE 36.97/11.38 f9316_0_indexOf_EQ(EOS(STATIC_9316), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub1447437860), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) -> f9326_0_indexOf_EQ(EOS(STATIC_9326), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub1447437860), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) :|: TRUE && matching1 = 0 36.97/11.38 f9326_0_indexOf_EQ(EOS(STATIC_9326), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub1447437860), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) -> f9338_0_indexOf_Inc(EOS(STATIC_9338), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub1447437860), java.lang.Object(javaUtilEx.Content(EOC)))), o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) :|: TRUE && matching1 = 0 36.97/11.38 f9338_0_indexOf_Inc(EOS(STATIC_9338), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub1447437860), java.lang.Object(javaUtilEx.Content(EOC)))), o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) -> f9349_0_indexOf_Load(EOS(STATIC_9349), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub1447437860), java.lang.Object(javaUtilEx.Content(EOC)))), o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) :|: TRUE 36.97/11.38 f9349_0_indexOf_Load(EOS(STATIC_9349), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub1447437860), java.lang.Object(javaUtilEx.Content(EOC)))), o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) -> f9358_0_indexOf_FieldAccess(EOS(STATIC_9358), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub1447437860), java.lang.Object(javaUtilEx.Content(EOC)))), o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) :|: TRUE 36.97/11.38 f9358_0_indexOf_FieldAccess(EOS(STATIC_9358), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub1447437860), java.lang.Object(javaUtilEx.Content(EOC)))), o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) -> f9366_0_indexOf_Store(EOS(STATIC_9366), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29984sub0), o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) :|: TRUE 36.97/11.38 f9366_0_indexOf_Store(EOS(STATIC_9366), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29984sub0), o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) -> f9374_0_indexOf_JMP(EOS(STATIC_9374), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29984sub0), o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) :|: TRUE 36.97/11.38 f9374_0_indexOf_JMP(EOS(STATIC_9374), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29984sub0), o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) -> f9380_0_indexOf_Load(EOS(STATIC_9380), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29984sub0), o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) :|: TRUE 36.97/11.38 f9380_0_indexOf_Load(EOS(STATIC_9380), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29984sub0), o29986[LinkedList$Entry.previous]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982) -> f9228_0_indexOf_Load(EOS(STATIC_9228), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29984sub47345478), java.lang.Object(javaUtilEx.Content(EOC)))), o29981-1400092382))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29984sub0), o29986[LinkedList$Entry.previous]o29980, o29982[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29980, o29984[LinkedList$Entry.next]o29982, o29982[LinkedList$Entry.next]o29984) :|: o29982[LinkedList$Entry.next]o29984 = 1 36.97/11.38 f9297_0_equals_Return(EOS(STATIC_9297), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), java.lang.Object(javaUtilEx.Content(EOC)))), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) -> f9298_0_equals_Return(EOS(STATIC_9298), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), java.lang.Object(javaUtilEx.Content(EOC)))), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) :|: TRUE && matching1 = 1 36.97/11.38 f9267_1_equals_Load(EOS(STATIC_9267), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o29630sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), NULL)), java.lang.Object(o29630sub0), NULL, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) -> f9286_0_equals_Return(EOS(STATIC_9286), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o29630sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), NULL)), 0, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) :|: TRUE 36.97/11.39 f9267_1_equals_Load(EOS(STATIC_9267), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o29644sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), java.lang.Object(o29646sub1447288161))), java.lang.Object(o29644sub0), java.lang.Object(o29646sub0), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) -> f9287_0_equals_Return(EOS(STATIC_9287), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(o29644sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), java.lang.Object(o29646sub1447288161))), 0, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) :|: TRUE 36.97/11.39 f9267_1_equals_Load(EOS(STATIC_9267), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) -> f9289_0_equals_Return(EOS(STATIC_9289), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) :|: TRUE 36.97/11.39 f9267_1_equals_Load(EOS(STATIC_9267), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) -> f9290_0_equals_Return(EOS(STATIC_9290), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o28968[LinkedList$Entry.previous]o28965, o28967[LinkedList$Entry.next]o28965, o28967[LinkedList$Entry.next]o29479, o29481[LinkedList$Entry.next]o28965, o29481[LinkedList$Entry.next]o28967) :|: TRUE 36.97/11.39 f9268_1_equals_Load(EOS(STATIC_9268), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), NULL)), o28966-1401942307))))))), java.lang.Object(o29715sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), NULL)), java.lang.Object(o29715sub0), NULL, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) -> f9293_0_equals_Return(EOS(STATIC_9293), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), NULL)), o28966-1401942307))))))), java.lang.Object(o29715sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), NULL)), 0, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) :|: TRUE 36.97/11.39 f9268_1_equals_Load(EOS(STATIC_9268), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), java.lang.Object(o29730sub45346629))), o28966-1401942307))))))), java.lang.Object(o29728sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), java.lang.Object(o29730sub1447288936))), java.lang.Object(o29728sub0), java.lang.Object(o29730sub0), o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) -> f9294_0_equals_Return(EOS(STATIC_9294), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), java.lang.Object(o29730sub45346629))), o28966-1401942307))))))), java.lang.Object(o29728sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), java.lang.Object(o29730sub1447288936))), 0, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) :|: TRUE 36.97/11.39 f9268_1_equals_Load(EOS(STATIC_9268), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), java.lang.Object(javaUtilEx.Content(EOC)))), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) -> f9296_0_equals_Return(EOS(STATIC_9296), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), java.lang.Object(javaUtilEx.Content(EOC)))), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) :|: TRUE 36.97/11.39 f9268_1_equals_Load(EOS(STATIC_9268), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), java.lang.Object(javaUtilEx.Content(EOC)))), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) -> f9297_0_equals_Return(EOS(STATIC_9297), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629), java.lang.Object(javaUtilEx.Content(EOC)))), o28966-1401942307))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o28968[LinkedList$Entry.previous]o28965, o29485[LinkedList$Entry.next]o28965, o29485[LinkedList$Entry.next]o29483) :|: TRUE 36.97/11.39 Combined rules. Obtained 8 IRulesP rules: 36.97/11.39 f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629:0), java.lang.Object(javaUtilEx.Content(EOC)))), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936:0), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936:0), java.lang.Object(javaUtilEx.Content(EOC)))), o28968[LinkedList$Entry.previous]o28965:0, o29475[LinkedList$Entry.next]o28965:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o28965:0) -> f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629:0), java.lang.Object(javaUtilEx.Content(EOC)))), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29984sub0:0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29984sub0:0), o28968[LinkedList$Entry.previous]o28965:0, o29982[LinkedList$Entry.next]o29980:0, o29485[LinkedList$Entry.next]o29483:0, 1, o29485[LinkedList$Entry.next]o28965:0) :|: o29475[LinkedList$Entry.next]o28965:0 > -1 && o29485[LinkedList$Entry.next]o28965:0 < o29475[LinkedList$Entry.next]o28965:0 && o29485[LinkedList$Entry.next]o29483:0 < o29475[LinkedList$Entry.next]o29475:0 && o29485[LinkedList$Entry.next]o28965:0 > 0 && o29475[LinkedList$Entry.next]o29475:0 > -1 && i8389:0 > 1 && i3901:0 > 0 36.97/11.39 f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629:0), NULL)), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936:0), NULL)), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936:0), NULL)), o28968[LinkedList$Entry.previous]o28965:0, o29475[LinkedList$Entry.next]o28965:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o28965:0) -> f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629:0), NULL)), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(o29967sub0:0), java.lang.Object(o28969sub0:0), java.lang.Object(o29967sub0:0), o28968[LinkedList$Entry.previous]o28965:0, o29965[LinkedList$Entry.next]o29963:0, o29485[LinkedList$Entry.next]o29483:0, 1, o29485[LinkedList$Entry.next]o28965:0) :|: o29475[LinkedList$Entry.next]o28965:0 > -1 && o29485[LinkedList$Entry.next]o28965:0 < o29475[LinkedList$Entry.next]o28965:0 && o29485[LinkedList$Entry.next]o29483:0 < o29475[LinkedList$Entry.next]o29475:0 && o29485[LinkedList$Entry.next]o28965:0 > 0 && o29475[LinkedList$Entry.next]o29475:0 > -1 && i8389:0 > 1 && i3901:0 > 0 36.97/11.39 f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307:0), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161:0), java.lang.Object(o29646sub1447288161:0))), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161:0), java.lang.Object(o29646sub1447288161:0))), o28968[LinkedList$Entry.previous]o28965:0, o28967[LinkedList$Entry.next]o28965:0, o28970[LinkedList$Entry.next]o28967:0, o28967[LinkedList$Entry.next]o28970:0, o28970[LinkedList$Entry.next]o28965:0) -> f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307:0), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(o29937sub0:0), java.lang.Object(o28969sub0:0), java.lang.Object(o29937sub0:0), o28968[LinkedList$Entry.previous]o28965:0, o28967[LinkedList$Entry.next]o28965:0, o29481[LinkedList$Entry.next]o28967:0, o29932[LinkedList$Entry.next]o29937:0, o29481[LinkedList$Entry.next]o28965:0) :|: o28967[LinkedList$Entry.next]o28970:0 > 0 && o28970[LinkedList$Entry.next]o28967:0 > 0 && o28970[LinkedList$Entry.next]o28965:0 > -1 && o29481[LinkedList$Entry.next]o28965:0 < o28970[LinkedList$Entry.next]o28965:0 && o29481[LinkedList$Entry.next]o28967:0 < o28970[LinkedList$Entry.next]o28967:0 && o29481[LinkedList$Entry.next]o28965:0 > 0 && o29932[LinkedList$Entry.next]o29937:0 > o28967[LinkedList$Entry.next]o28970:0 && i8389:0 > 1 && i3901:0 > 0 36.97/11.39 f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307:0), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161:0), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161:0), java.lang.Object(javaUtilEx.Content(EOC)))), o28968[LinkedList$Entry.previous]o28965:0, o28967[LinkedList$Entry.next]o28965:0, o28970[LinkedList$Entry.next]o28967:0, o28967[LinkedList$Entry.next]o28970:0, o28970[LinkedList$Entry.next]o28965:0) -> f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307:0), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29955sub0:0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o29955sub0:0), o28968[LinkedList$Entry.previous]o28965:0, o28967[LinkedList$Entry.next]o28965:0, o29481[LinkedList$Entry.next]o28967:0, o29950[LinkedList$Entry.next]o29955:0, o29481[LinkedList$Entry.next]o28965:0) :|: o28967[LinkedList$Entry.next]o28970:0 > 0 && o28970[LinkedList$Entry.next]o28967:0 > 0 && o29950[LinkedList$Entry.next]o29955:0 > o28967[LinkedList$Entry.next]o28970:0 && o28970[LinkedList$Entry.next]o28965:0 > -1 && o29481[LinkedList$Entry.next]o28965:0 < o28970[LinkedList$Entry.next]o28965:0 && o29481[LinkedList$Entry.next]o28967:0 < o28970[LinkedList$Entry.next]o28967:0 && o29481[LinkedList$Entry.next]o28965:0 > 0 && i8389:0 > 1 && i3901:0 > 0 36.97/11.39 f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307:0), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161:0), NULL)), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161:0), NULL)), o28968[LinkedList$Entry.previous]o28965:0, o28967[LinkedList$Entry.next]o28965:0, o28970[LinkedList$Entry.next]o28967:0, o28967[LinkedList$Entry.next]o28970:0, o28970[LinkedList$Entry.next]o28965:0) -> f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307:0), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(o29937sub0:0), java.lang.Object(o28969sub0:0), java.lang.Object(o29937sub0:0), o28968[LinkedList$Entry.previous]o28965:0, o28967[LinkedList$Entry.next]o28965:0, o29481[LinkedList$Entry.next]o28967:0, o29932[LinkedList$Entry.next]o29937:0, o29481[LinkedList$Entry.next]o28965:0) :|: o28967[LinkedList$Entry.next]o28970:0 > 0 && o28970[LinkedList$Entry.next]o28967:0 > 0 && o28970[LinkedList$Entry.next]o28965:0 > -1 && o29481[LinkedList$Entry.next]o28965:0 < o28970[LinkedList$Entry.next]o28965:0 && o29481[LinkedList$Entry.next]o28967:0 < o28970[LinkedList$Entry.next]o28967:0 && o29481[LinkedList$Entry.next]o28965:0 > 0 && o29932[LinkedList$Entry.next]o29937:0 > o28967[LinkedList$Entry.next]o28970:0 && i8389:0 > 1 && i3901:0 > 0 36.97/11.39 f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629:0), java.lang.Object(o29730sub45346629:0))), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936:0), java.lang.Object(o29730sub1447288936:0))), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936:0), java.lang.Object(o29730sub1447288936:0))), o28968[LinkedList$Entry.previous]o28965:0, o29475[LinkedList$Entry.next]o28965:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o28965:0) -> f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629:0), java.lang.Object(o29730sub45346629:0))), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(o29967sub0:0), java.lang.Object(o28969sub0:0), java.lang.Object(o29967sub0:0), o28968[LinkedList$Entry.previous]o28965:0, o29965[LinkedList$Entry.next]o29963:0, o29485[LinkedList$Entry.next]o29483:0, 1, o29485[LinkedList$Entry.next]o28965:0) :|: o29475[LinkedList$Entry.next]o28965:0 > -1 && o29485[LinkedList$Entry.next]o28965:0 < o29475[LinkedList$Entry.next]o28965:0 && o29485[LinkedList$Entry.next]o29483:0 < o29475[LinkedList$Entry.next]o29475:0 && o29485[LinkedList$Entry.next]o28965:0 > 0 && o29475[LinkedList$Entry.next]o29475:0 > -1 && i8389:0 > 1 && i3901:0 > 0 36.97/11.39 Removed following non-SCC rules: 36.97/11.39 f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307:0), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161:0), o294801447288161:0)), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161:0), o294801447288161:0)), o28968[LinkedList$Entry.previous]o28965:0, o28967[LinkedList$Entry.next]o28965:0, o28970[LinkedList$Entry.next]o28967:0, o28967[LinkedList$Entry.next]o28970:0, o28970[LinkedList$Entry.next]o28965:0) -> f9890_0_equals_Load(EOS(STATIC_9890), java.lang.Object(o28969sub0:0), o294800:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub1446512510:0), o289661446512510:0)), java.lang.Object(o28967sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29481sub1447288161:0), o294801447288161:0)), java.lang.Object(o29481sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o28967sub-1401942307:0), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), o294800:0, o28968[LinkedList$Entry.previous]o28965:0, o28967[LinkedList$Entry.next]o28965:0, o28967[LinkedList$Entry.next]o28970:0, o29481[LinkedList$Entry.next]o28965:0, o29481[LinkedList$Entry.next]o28967:0) :|: o28970[LinkedList$Entry.next]o28967:0 > 0 && o28970[LinkedList$Entry.next]o28965:0 > -1 && o29481[LinkedList$Entry.next]o28965:0 < o28970[LinkedList$Entry.next]o28965:0 && o29481[LinkedList$Entry.next]o28967:0 < o28970[LinkedList$Entry.next]o28967:0 && o28967[LinkedList$Entry.next]o28970:0 > 0 && i8389:0 > 1 && i3901:0 > 0 36.97/11.39 f9249_0_indexOf_FieldAccess(EOS(STATIC_9249), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629:0), o2948445346629:0)), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936:0), o294841447288936:0)), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936:0), o294841447288936:0)), o28968[LinkedList$Entry.previous]o28965:0, o29475[LinkedList$Entry.next]o28965:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o28965:0) -> f9952_0_equals_Load(EOS(STATIC_9952), java.lang.Object(o28969sub0:0), o294840:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub-1401165850:0), o29484-1401165850:0)), o289661446512510:0)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub1447288936:0), o294841447288936:0)), java.lang.Object(o29485sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o29485sub45346629:0), o2948445346629:0)), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), o294840:0, o28968[LinkedList$Entry.previous]o28965:0, o29485[LinkedList$Entry.next]o28965:0, o29485[LinkedList$Entry.next]o29483:0) :|: o29475[LinkedList$Entry.next]o28965:0 > -1 && o29485[LinkedList$Entry.next]o28965:0 < o29475[LinkedList$Entry.next]o28965:0 && o29485[LinkedList$Entry.next]o29483:0 < o29475[LinkedList$Entry.next]o29475:0 && o29475[LinkedList$Entry.next]o29475:0 > -1 && i8389:0 > 1 && i3901:0 > 0 36.97/11.39 Filtered constant ground arguments: 36.97/11.39 f9249_0_indexOf_FieldAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) -> f9249_0_indexOf_FieldAccess(x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 36.97/11.39 EOS(x1) -> EOS 36.97/11.39 javaUtilEx.Content(x1) -> javaUtilEx.Content 36.97/11.39 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 36.97/11.39 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 36.97/11.39 Filtered duplicate arguments: 36.97/11.39 f9249_0_indexOf_FieldAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f9249_0_indexOf_FieldAccess(x1, x4, x5, x6, x7, x8, x9, x10) 36.97/11.39 Filtered unneeded arguments: 36.97/11.39 f9249_0_indexOf_FieldAccess(x1, x2, x3, x4, x5, x6, x7, x8) -> f9249_0_indexOf_FieldAccess(x1, x2, x3, x5, x6, x7, x8) 36.97/11.39 Finished conversion. Obtained 6 rules.P rules: 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0), java.lang.Object(javaUtilEx.Content))), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub1447288936:0), java.lang.Object(javaUtilEx.Content))), o29475[LinkedList$Entry.next]o28965:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0), java.lang.Object(javaUtilEx.Content))), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o29984sub0:0), o29982[LinkedList$Entry.next]o29980:0, o29485[LinkedList$Entry.next]o29483:0, 1, o29485[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) :|: o29485[LinkedList$Entry.next]o28965:0 < o29475[LinkedList$Entry.next]o28965:0 && o29475[LinkedList$Entry.next]o28965:0 > -1 && o29485[LinkedList$Entry.next]o29483:0 < o29475[LinkedList$Entry.next]o29475:0 && o29485[LinkedList$Entry.next]o28965:0 > 0 && o29475[LinkedList$Entry.next]o29475:0 > -1 && i3901:0 > 0 && i8389:0 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0), NULL)), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub1447288936:0), NULL)), o29475[LinkedList$Entry.next]o28965:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0), NULL)), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(o29967sub0:0), o29965[LinkedList$Entry.next]o29963:0, o29485[LinkedList$Entry.next]o29483:0, 1, o29485[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) :|: o29485[LinkedList$Entry.next]o28965:0 < o29475[LinkedList$Entry.next]o28965:0 && o29475[LinkedList$Entry.next]o28965:0 > -1 && o29485[LinkedList$Entry.next]o29483:0 < o29475[LinkedList$Entry.next]o29475:0 && o29485[LinkedList$Entry.next]o28965:0 > 0 && o29475[LinkedList$Entry.next]o29475:0 > -1 && i3901:0 > 0 && i8389:0 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o28967sub-1401942307:0), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29481sub1447288161:0), java.lang.Object(o29646sub1447288161:0))), o28967[LinkedList$Entry.next]o28965:0, o28970[LinkedList$Entry.next]o28967:0, o28967[LinkedList$Entry.next]o28970:0, o28970[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o28967sub-1401942307:0), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(o29937sub0:0), o28967[LinkedList$Entry.next]o28965:0, o29481[LinkedList$Entry.next]o28967:0, o29932[LinkedList$Entry.next]o29937:0, o29481[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) :|: o28970[LinkedList$Entry.next]o28967:0 > 0 && o28967[LinkedList$Entry.next]o28970:0 > 0 && o28970[LinkedList$Entry.next]o28965:0 > -1 && o29481[LinkedList$Entry.next]o28965:0 < o28970[LinkedList$Entry.next]o28965:0 && o29481[LinkedList$Entry.next]o28967:0 < o28970[LinkedList$Entry.next]o28967:0 && o29481[LinkedList$Entry.next]o28965:0 > 0 && o29932[LinkedList$Entry.next]o29937:0 > o28967[LinkedList$Entry.next]o28970:0 && i3901:0 > 0 && i8389:0 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o28967sub-1401942307:0), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29481sub1447288161:0), java.lang.Object(javaUtilEx.Content))), o28967[LinkedList$Entry.next]o28965:0, o28970[LinkedList$Entry.next]o28967:0, o28967[LinkedList$Entry.next]o28970:0, o28970[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o28967sub-1401942307:0), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o29955sub0:0), o28967[LinkedList$Entry.next]o28965:0, o29481[LinkedList$Entry.next]o28967:0, o29950[LinkedList$Entry.next]o29955:0, o29481[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) :|: o28970[LinkedList$Entry.next]o28967:0 > 0 && o28967[LinkedList$Entry.next]o28970:0 > 0 && o29950[LinkedList$Entry.next]o29955:0 > o28967[LinkedList$Entry.next]o28970:0 && o28970[LinkedList$Entry.next]o28965:0 > -1 && o29481[LinkedList$Entry.next]o28965:0 < o28970[LinkedList$Entry.next]o28965:0 && o29481[LinkedList$Entry.next]o28967:0 < o28970[LinkedList$Entry.next]o28967:0 && o29481[LinkedList$Entry.next]o28965:0 > 0 && i3901:0 > 0 && i8389:0 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o28967sub-1401942307:0), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29481sub1447288161:0), NULL)), o28967[LinkedList$Entry.next]o28965:0, o28970[LinkedList$Entry.next]o28967:0, o28967[LinkedList$Entry.next]o28970:0, o28970[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o28967sub-1401942307:0), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(o29937sub0:0), o28967[LinkedList$Entry.next]o28965:0, o29481[LinkedList$Entry.next]o28967:0, o29932[LinkedList$Entry.next]o29937:0, o29481[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) :|: o28970[LinkedList$Entry.next]o28967:0 > 0 && o28967[LinkedList$Entry.next]o28970:0 > 0 && o28970[LinkedList$Entry.next]o28965:0 > -1 && o29481[LinkedList$Entry.next]o28965:0 < o28970[LinkedList$Entry.next]o28965:0 && o29481[LinkedList$Entry.next]o28967:0 < o28970[LinkedList$Entry.next]o28967:0 && o29481[LinkedList$Entry.next]o28965:0 > 0 && o29932[LinkedList$Entry.next]o29937:0 > o28967[LinkedList$Entry.next]o28970:0 && i3901:0 > 0 && i8389:0 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0), java.lang.Object(o29730sub45346629:0))), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub1447288936:0), java.lang.Object(o29730sub1447288936:0))), o29475[LinkedList$Entry.next]o28965:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0), java.lang.Object(o29730sub45346629:0))), o28966-1401942307:0))))))), java.lang.Object(o28969sub0:0), java.lang.Object(o29967sub0:0), o29965[LinkedList$Entry.next]o29963:0, o29485[LinkedList$Entry.next]o29483:0, 1, o29485[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) :|: o29485[LinkedList$Entry.next]o28965:0 < o29475[LinkedList$Entry.next]o28965:0 && o29475[LinkedList$Entry.next]o28965:0 > -1 && o29485[LinkedList$Entry.next]o29483:0 < o29475[LinkedList$Entry.next]o29475:0 && o29485[LinkedList$Entry.next]o28965:0 > 0 && o29475[LinkedList$Entry.next]o29475:0 > -1 && i3901:0 > 0 && i8389:0 > 1 36.97/11.39 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (35) 36.97/11.39 Obligation: 36.97/11.39 Rules: 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0), java.lang.Object(javaUtilEx.Content))), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub1447288936:0), java.lang.Object(javaUtilEx.Content))), o29475[LinkedList$Entry.next]o28965:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0), java.lang.Object(javaUtilEx.Content))), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o29984sub0:0), o29982[LinkedList$Entry.next]o29980:0, o29485[LinkedList$Entry.next]o29483:0, 1, o29485[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) :|: o29485[LinkedList$Entry.next]o28965:0 < o29475[LinkedList$Entry.next]o28965:0 && o29475[LinkedList$Entry.next]o28965:0 > -1 && o29485[LinkedList$Entry.next]o29483:0 < o29475[LinkedList$Entry.next]o29475:0 && o29485[LinkedList$Entry.next]o28965:0 > 0 && o29475[LinkedList$Entry.next]o29475:0 > -1 && i3901:0 > 0 && i8389:0 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), NULL)), x1))))))), java.lang.Object(x2), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), NULL)), x4, x5, x5, x4, x1) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), NULL)), x1))))))), java.lang.Object(x2), java.lang.Object(x6), x7, x8, 1, x9, x1) :|: x9 < x4 && x4 > -1 && x8 < x5 && x9 > 0 && x5 > -1 && x10 > 0 && x11 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x12), x13))))))), java.lang.Object(x14), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15), java.lang.Object(x16))), x17, x18, x19, x20, x13) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x12), x13))))))), java.lang.Object(x14), java.lang.Object(x21), x17, x22, x23, x24, x13) :|: x18 > 0 && x19 > 0 && x20 > -1 && x24 < x20 && x22 < x18 && x24 > 0 && x23 > x19 && x25 > 0 && x26 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x27), x28))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(javaUtilEx.Content))), x30, x31, x32, x33, x28) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x27), x28))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x34), x30, x35, x36, x37, x28) :|: x31 > 0 && x32 > 0 && x36 > x32 && x33 > -1 && x37 < x33 && x35 < x31 && x37 > 0 && x38 > 0 && x39 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), x41))))))), java.lang.Object(x42), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x43), NULL)), x44, x45, x46, x47, x41) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), x41))))))), java.lang.Object(x42), java.lang.Object(x48), x44, x49, x50, x51, x41) :|: x45 > 0 && x46 > 0 && x47 > -1 && x51 < x47 && x49 < x45 && x51 > 0 && x50 > x46 && x52 > 0 && x53 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), java.lang.Object(x55))), x56))))))), java.lang.Object(x57), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x58), java.lang.Object(x59))), x60, x61, x61, x60, x56) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), java.lang.Object(x55))), x56))))))), java.lang.Object(x57), java.lang.Object(x62), x63, x64, 1, x65, x56) :|: x65 < x60 && x60 > -1 && x64 < x61 && x65 > 0 && x61 > -1 && x66 > 0 && x67 > 1 36.97/11.39 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (36) IRSFormatTransformerProof (EQUIVALENT) 36.97/11.39 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (37) 36.97/11.39 Obligation: 36.97/11.39 Rules: 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0), java.lang.Object(javaUtilEx.Content))), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub1447288936:0), java.lang.Object(javaUtilEx.Content))), o29475[LinkedList$Entry.next]o28965:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0), java.lang.Object(javaUtilEx.Content))), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o29984sub0:0), o29982[LinkedList$Entry.next]o29980:0, o29485[LinkedList$Entry.next]o29483:0, 1, o29485[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) :|: o29485[LinkedList$Entry.next]o28965:0 < o29475[LinkedList$Entry.next]o28965:0 && o29475[LinkedList$Entry.next]o28965:0 > -1 && o29485[LinkedList$Entry.next]o29483:0 < o29475[LinkedList$Entry.next]o29475:0 && o29485[LinkedList$Entry.next]o28965:0 > 0 && o29475[LinkedList$Entry.next]o29475:0 > -1 && i3901:0 > 0 && i8389:0 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), NULL)), x1))))))), java.lang.Object(x2), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), NULL)), x4, x5, x5, x4, x1) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), NULL)), x1))))))), java.lang.Object(x2), java.lang.Object(x6), x7, x8, 1, x9, x1) :|: x9 < x4 && x4 > -1 && x8 < x5 && x9 > 0 && x5 > -1 && x10 > 0 && x11 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x12), x13))))))), java.lang.Object(x14), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15), java.lang.Object(x16))), x17, x18, x19, x20, x13) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x12), x13))))))), java.lang.Object(x14), java.lang.Object(x21), x17, x22, x23, x24, x13) :|: x18 > 0 && x19 > 0 && x20 > -1 && x24 < x20 && x22 < x18 && x24 > 0 && x23 > x19 && x25 > 0 && x26 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x27), x28))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(javaUtilEx.Content))), x30, x31, x32, x33, x28) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x27), x28))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x34), x30, x35, x36, x37, x28) :|: x31 > 0 && x32 > 0 && x36 > x32 && x33 > -1 && x37 < x33 && x35 < x31 && x37 > 0 && x38 > 0 && x39 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), x41))))))), java.lang.Object(x42), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x43), NULL)), x44, x45, x46, x47, x41) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), x41))))))), java.lang.Object(x42), java.lang.Object(x48), x44, x49, x50, x51, x41) :|: x45 > 0 && x46 > 0 && x47 > -1 && x51 < x47 && x49 < x45 && x51 > 0 && x50 > x46 && x52 > 0 && x53 > 1 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), java.lang.Object(x55))), x56))))))), java.lang.Object(x57), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x58), java.lang.Object(x59))), x60, x61, x61, x60, x56) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), java.lang.Object(x55))), x56))))))), java.lang.Object(x57), java.lang.Object(x62), x63, x64, 1, x65, x56) :|: x65 < x60 && x60 > -1 && x64 < x61 && x65 > 0 && x61 > -1 && x66 > 0 && x67 > 1 36.97/11.39 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (38) IRSwTTerminationDigraphProof (EQUIVALENT) 36.97/11.39 Constructed termination digraph! 36.97/11.39 Nodes: 36.97/11.39 (1) f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0), java.lang.Object(javaUtilEx.Content))), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub1447288936:0), java.lang.Object(javaUtilEx.Content))), o29475[LinkedList$Entry.next]o28965:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0), java.lang.Object(javaUtilEx.Content))), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o29984sub0:0), o29982[LinkedList$Entry.next]o29980:0, o29485[LinkedList$Entry.next]o29483:0, 1, o29485[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) :|: o29485[LinkedList$Entry.next]o28965:0 < o29475[LinkedList$Entry.next]o28965:0 && o29475[LinkedList$Entry.next]o28965:0 > -1 && o29485[LinkedList$Entry.next]o29483:0 < o29475[LinkedList$Entry.next]o29475:0 && o29485[LinkedList$Entry.next]o28965:0 > 0 && o29475[LinkedList$Entry.next]o29475:0 > -1 && i3901:0 > 0 && i8389:0 > 1 36.97/11.39 (2) f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), NULL)), x1))))))), java.lang.Object(x2), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), NULL)), x4, x5, x5, x4, x1) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), NULL)), x1))))))), java.lang.Object(x2), java.lang.Object(x6), x7, x8, 1, x9, x1) :|: x9 < x4 && x4 > -1 && x8 < x5 && x9 > 0 && x5 > -1 && x10 > 0 && x11 > 1 36.97/11.39 (3) f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x12), x13))))))), java.lang.Object(x14), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15), java.lang.Object(x16))), x17, x18, x19, x20, x13) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x12), x13))))))), java.lang.Object(x14), java.lang.Object(x21), x17, x22, x23, x24, x13) :|: x18 > 0 && x19 > 0 && x20 > -1 && x24 < x20 && x22 < x18 && x24 > 0 && x23 > x19 && x25 > 0 && x26 > 1 36.97/11.39 (4) f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x27), x28))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(javaUtilEx.Content))), x30, x31, x32, x33, x28) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x27), x28))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x34), x30, x35, x36, x37, x28) :|: x31 > 0 && x32 > 0 && x36 > x32 && x33 > -1 && x37 < x33 && x35 < x31 && x37 > 0 && x38 > 0 && x39 > 1 36.97/11.39 (5) f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), x41))))))), java.lang.Object(x42), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x43), NULL)), x44, x45, x46, x47, x41) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), x41))))))), java.lang.Object(x42), java.lang.Object(x48), x44, x49, x50, x51, x41) :|: x45 > 0 && x46 > 0 && x47 > -1 && x51 < x47 && x49 < x45 && x51 > 0 && x50 > x46 && x52 > 0 && x53 > 1 36.97/11.39 (6) f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), java.lang.Object(x55))), x56))))))), java.lang.Object(x57), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x58), java.lang.Object(x59))), x60, x61, x61, x60, x56) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), java.lang.Object(x55))), x56))))))), java.lang.Object(x57), java.lang.Object(x62), x63, x64, 1, x65, x56) :|: x65 < x60 && x60 > -1 && x64 < x61 && x65 > 0 && x61 > -1 && x66 > 0 && x67 > 1 36.97/11.39 36.97/11.39 Arcs: 36.97/11.39 (1) -> (1), (3), (4), (5), (6) 36.97/11.39 (2) -> (2), (3), (4), (5) 36.97/11.39 (3) -> (1), (2), (3), (4), (5), (6) 36.97/11.39 (4) -> (1), (2), (3), (4), (5), (6) 36.97/11.39 (5) -> (1), (2), (3), (4), (5), (6) 36.97/11.39 (6) -> (1), (3), (4), (5), (6) 36.97/11.39 36.97/11.39 This digraph is fully evaluated! 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (39) 36.97/11.39 Obligation: 36.97/11.39 36.97/11.39 Termination digraph: 36.97/11.39 Nodes: 36.97/11.39 (1) f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0), java.lang.Object(javaUtilEx.Content))), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub1447288936:0), java.lang.Object(javaUtilEx.Content))), o29475[LinkedList$Entry.next]o28965:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o29475:0, o29475[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0), java.lang.Object(javaUtilEx.Content))), o28966-1401942307:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o29984sub0:0), o29982[LinkedList$Entry.next]o29980:0, o29485[LinkedList$Entry.next]o29483:0, 1, o29485[LinkedList$Entry.next]o28965:0, o28966-1401942307:0) :|: o29485[LinkedList$Entry.next]o28965:0 < o29475[LinkedList$Entry.next]o28965:0 && o29475[LinkedList$Entry.next]o28965:0 > -1 && o29485[LinkedList$Entry.next]o29483:0 < o29475[LinkedList$Entry.next]o29475:0 && o29485[LinkedList$Entry.next]o28965:0 > 0 && o29475[LinkedList$Entry.next]o29475:0 > -1 && i3901:0 > 0 && i8389:0 > 1 36.97/11.39 (2) f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x12), x13))))))), java.lang.Object(x14), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15), java.lang.Object(x16))), x17, x18, x19, x20, x13) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x12), x13))))))), java.lang.Object(x14), java.lang.Object(x21), x17, x22, x23, x24, x13) :|: x18 > 0 && x19 > 0 && x20 > -1 && x24 < x20 && x22 < x18 && x24 > 0 && x23 > x19 && x25 > 0 && x26 > 1 36.97/11.39 (3) f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), NULL)), x1))))))), java.lang.Object(x2), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), NULL)), x4, x5, x5, x4, x1) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x), NULL)), x1))))))), java.lang.Object(x2), java.lang.Object(x6), x7, x8, 1, x9, x1) :|: x9 < x4 && x4 > -1 && x8 < x5 && x9 > 0 && x5 > -1 && x10 > 0 && x11 > 1 36.97/11.39 (4) f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x27), x28))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(javaUtilEx.Content))), x30, x31, x32, x33, x28) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x27), x28))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x34), x30, x35, x36, x37, x28) :|: x31 > 0 && x32 > 0 && x36 > x32 && x33 > -1 && x37 < x33 && x35 < x31 && x37 > 0 && x38 > 0 && x39 > 1 36.97/11.39 (5) f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), x41))))))), java.lang.Object(x42), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x43), NULL)), x44, x45, x46, x47, x41) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40), x41))))))), java.lang.Object(x42), java.lang.Object(x48), x44, x49, x50, x51, x41) :|: x45 > 0 && x46 > 0 && x47 > -1 && x51 < x47 && x49 < x45 && x51 > 0 && x50 > x46 && x52 > 0 && x53 > 1 36.97/11.39 (6) f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), java.lang.Object(x55))), x56))))))), java.lang.Object(x57), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x58), java.lang.Object(x59))), x60, x61, x61, x60, x56) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), java.lang.Object(x55))), x56))))))), java.lang.Object(x57), java.lang.Object(x62), x63, x64, 1, x65, x56) :|: x65 < x60 && x60 > -1 && x64 < x61 && x65 > 0 && x61 > -1 && x66 > 0 && x67 > 1 36.97/11.39 36.97/11.39 Arcs: 36.97/11.39 (1) -> (1), (2), (4), (5), (6) 36.97/11.39 (2) -> (1), (2), (3), (4), (5), (6) 36.97/11.39 (3) -> (2), (3), (4), (5) 36.97/11.39 (4) -> (1), (2), (3), (4), (5), (6) 36.97/11.39 (5) -> (1), (2), (3), (4), (5), (6) 36.97/11.39 (6) -> (1), (2), (4), (5), (6) 36.97/11.39 36.97/11.39 This digraph is fully evaluated! 36.97/11.39 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (40) IntTRSCompressionProof (EQUIVALENT) 36.97/11.39 Compressed rules. 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (41) 36.97/11.39 Obligation: 36.97/11.39 Rules: 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x27:0), x28:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29:0), java.lang.Object(javaUtilEx.Content))), x30:0, x31:0, x32:0, x33:0, x28:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x27:0), x28:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x34:0), x30:0, x35:0, x36:0, x37:0, x28:0) :|: x38:0 > 0 && x39:0 > 1 && x37:0 > 0 && x35:0 < x31:0 && x37:0 < x33:0 && x33:0 > -1 && x36:0 > x32:0 && x32:0 > 0 && x31:0 > 0 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54:0), java.lang.Object(x55:0))), x56:0))))))), java.lang.Object(x57:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x58:0), java.lang.Object(x59:0))), x60:0, x61:0, x61:0, x60:0, x56:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54:0), java.lang.Object(x55:0))), x56:0))))))), java.lang.Object(x57:0), java.lang.Object(x62:0), x63:0, x64:0, 1, x65:0, x56:0) :|: x66:0 > 0 && x67:0 > 1 && x61:0 > -1 && x65:0 > 0 && x64:0 < x61:0 && x60:0 > -1 && x65:0 < x60:0 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40:0), x41:0))))))), java.lang.Object(x42:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x43:0), NULL)), x44:0, x45:0, x46:0, x47:0, x41:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x40:0), x41:0))))))), java.lang.Object(x42:0), java.lang.Object(x48:0), x44:0, x49:0, x50:0, x51:0, x41:0) :|: x52:0 > 0 && x53:0 > 1 && x50:0 > x46:0 && x51:0 > 0 && x49:0 < x45:0 && x51:0 < x47:0 && x47:0 > -1 && x46:0 > 0 && x45:0 > 0 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x12:0), x13:0))))))), java.lang.Object(x14:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x15:0), java.lang.Object(x16:0))), x17:0, x18:0, x19:0, x20:0, x13:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x12:0), x13:0))))))), java.lang.Object(x14:0), java.lang.Object(x21:0), x17:0, x22:0, x23:0, x24:0, x13:0) :|: x25:0 > 0 && x26:0 > 1 && x23:0 > x19:0 && x24:0 > 0 && x22:0 < x18:0 && x24:0 < x20:0 && x20:0 > -1 && x19:0 > 0 && x18:0 > 0 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0:0), java.lang.Object(javaUtilEx.Content))), o28966-1401942307:0:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub1447288936:0:0), java.lang.Object(javaUtilEx.Content))), o29475[LinkedList$Entry.next]o28965:0:0, o29475[LinkedList$Entry.next]o29475:0:0, o29475[LinkedList$Entry.next]o29475:0:0, o29475[LinkedList$Entry.next]o28965:0:0, o28966-1401942307:0:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o29485sub45346629:0:0), java.lang.Object(javaUtilEx.Content))), o28966-1401942307:0:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o29984sub0:0:0), o29982[LinkedList$Entry.next]o29980:0:0, o29485[LinkedList$Entry.next]o29483:0:0, 1, o29485[LinkedList$Entry.next]o28965:0:0, o28966-1401942307:0:0) :|: i3901:0:0 > 0 && i8389:0:0 > 1 && o29475[LinkedList$Entry.next]o29475:0:0 > -1 && o29485[LinkedList$Entry.next]o28965:0:0 > 0 && o29485[LinkedList$Entry.next]o29483:0:0 < o29475[LinkedList$Entry.next]o29475:0:0 && o29475[LinkedList$Entry.next]o28965:0:0 > -1 && o29485[LinkedList$Entry.next]o28965:0:0 < o29475[LinkedList$Entry.next]o28965:0:0 36.97/11.39 f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x:0), NULL)), x1:0))))))), java.lang.Object(x2:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3:0), NULL)), x4:0, x5:0, x5:0, x4:0, x1:0) -> f9249_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x:0), NULL)), x1:0))))))), java.lang.Object(x2:0), java.lang.Object(x6:0), x7:0, x8:0, 1, x9:0, x1:0) :|: x10:0 > 0 && x11:0 > 1 && x5:0 > -1 && x9:0 > 0 && x8:0 < x5:0 && x4:0 > -1 && x9:0 < x4:0 36.97/11.39 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (42) TempFilterProof (SOUND) 36.97/11.39 Used the following sort dictionary for filtering: 36.97/11.39 f9249_0_indexOf_FieldAccess(VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, VARIABLE, INTEGER, VARIABLE) 36.97/11.39 java.lang.Object(VARIABLE) 36.97/11.39 javaUtilEx.AbstractCollection(VARIABLE) 36.97/11.39 javaUtilEx.AbstractList(VARIABLE) 36.97/11.39 javaUtilEx.AbstractSequentialList(VARIABLE) 36.97/11.39 javaUtilEx.LinkedList(VARIABLE) 36.97/11.39 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 36.97/11.39 javaUtilEx.Content() 36.97/11.39 NULL() 36.97/11.39 Replaced non-predefined constructor symbols by 0. 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (43) 36.97/11.39 Obligation: 36.97/11.39 Rules: 36.97/11.39 f9249_0_indexOf_FieldAccess(c, c1, c2, x30:0, x31:0, x32:0, x33:0, x28:0) -> f9249_0_indexOf_FieldAccess(c3, c4, c5, x30:0, x35:0, x36:0, x37:0, x28:0) :|: c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (x38:0 > 0 && x39:0 > 1 && x37:0 > 0 && x35:0 < x31:0 && x37:0 < x33:0 && x33:0 > -1 && x36:0 > x32:0 && x32:0 > 0 && x31:0 > 0) 36.97/11.39 f9249_0_indexOf_FieldAccess(c6, c7, c8, x60:0, x61:0, x61:0, x60:0, x56:0) -> f9249_0_indexOf_FieldAccess(c9, c10, c11, x63:0, x64:0, c12, x65:0, x56:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && (c7 = 0 && c6 = 0))))) && (x66:0 > 0 && x67:0 > 1 && x61:0 > -1 && x65:0 > 0 && x64:0 < x61:0 && x60:0 > -1 && x65:0 < x60:0) 36.97/11.39 f9249_0_indexOf_FieldAccess(c13, c14, c15, x44:0, x45:0, x46:0, x47:0, x41:0) -> f9249_0_indexOf_FieldAccess(c16, c17, c18, x44:0, x49:0, x50:0, x51:0, x41:0) :|: c18 = 0 && (c17 = 0 && (c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)))) && (x52:0 > 0 && x53:0 > 1 && x50:0 > x46:0 && x51:0 > 0 && x49:0 < x45:0 && x51:0 < x47:0 && x47:0 > -1 && x46:0 > 0 && x45:0 > 0) 36.97/11.39 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (44) PolynomialOrderProcessor (EQUIVALENT) 36.97/11.39 Found the following polynomial interpretation: 36.97/11.39 [f9249_0_indexOf_FieldAccess(x, x1, x2, x3, x4, x5, x6, x7)] = -1 + c*x + c1*x1 + c2*x2 + x4 36.97/11.39 36.97/11.39 The following rules are decreasing: 36.97/11.39 f9249_0_indexOf_FieldAccess(c, c1, c2, x30:0, x31:0, x32:0, x33:0, x28:0) -> f9249_0_indexOf_FieldAccess(c3, c4, c5, x30:0, x35:0, x36:0, x37:0, x28:0) :|: c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (x38:0 > 0 && x39:0 > 1 && x37:0 > 0 && x35:0 < x31:0 && x37:0 < x33:0 && x33:0 > -1 && x36:0 > x32:0 && x32:0 > 0 && x31:0 > 0) 36.97/11.39 f9249_0_indexOf_FieldAccess(c6, c7, c8, x60:0, x61:0, x61:0, x60:0, x56:0) -> f9249_0_indexOf_FieldAccess(c9, c10, c11, x63:0, x64:0, c12, x65:0, x56:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && (c7 = 0 && c6 = 0))))) && (x66:0 > 0 && x67:0 > 1 && x61:0 > -1 && x65:0 > 0 && x64:0 < x61:0 && x60:0 > -1 && x65:0 < x60:0) 36.97/11.39 f9249_0_indexOf_FieldAccess(c13, c14, c15, x44:0, x45:0, x46:0, x47:0, x41:0) -> f9249_0_indexOf_FieldAccess(c16, c17, c18, x44:0, x49:0, x50:0, x51:0, x41:0) :|: c18 = 0 && (c17 = 0 && (c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)))) && (x52:0 > 0 && x53:0 > 1 && x50:0 > x46:0 && x51:0 > 0 && x49:0 < x45:0 && x51:0 < x47:0 && x47:0 > -1 && x46:0 > 0 && x45:0 > 0) 36.97/11.39 The following rules are bounded: 36.97/11.39 f9249_0_indexOf_FieldAccess(c, c1, c2, x30:0, x31:0, x32:0, x33:0, x28:0) -> f9249_0_indexOf_FieldAccess(c3, c4, c5, x30:0, x35:0, x36:0, x37:0, x28:0) :|: c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (x38:0 > 0 && x39:0 > 1 && x37:0 > 0 && x35:0 < x31:0 && x37:0 < x33:0 && x33:0 > -1 && x36:0 > x32:0 && x32:0 > 0 && x31:0 > 0) 36.97/11.39 f9249_0_indexOf_FieldAccess(c13, c14, c15, x44:0, x45:0, x46:0, x47:0, x41:0) -> f9249_0_indexOf_FieldAccess(c16, c17, c18, x44:0, x49:0, x50:0, x51:0, x41:0) :|: c18 = 0 && (c17 = 0 && (c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)))) && (x52:0 > 0 && x53:0 > 1 && x50:0 > x46:0 && x51:0 > 0 && x49:0 < x45:0 && x51:0 < x47:0 && x47:0 > -1 && x46:0 > 0 && x45:0 > 0) 36.97/11.39 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (45) 36.97/11.39 Obligation: 36.97/11.39 Rules: 36.97/11.39 f9249_0_indexOf_FieldAccess(c6, c7, c8, x60:0, x61:0, x61:0, x60:0, x56:0) -> f9249_0_indexOf_FieldAccess(c9, c10, c11, x63:0, x64:0, c12, x65:0, x56:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && (c7 = 0 && c6 = 0))))) && (x66:0 > 0 && x67:0 > 1 && x61:0 > -1 && x65:0 > 0 && x64:0 < x61:0 && x60:0 > -1 && x65:0 < x60:0) 36.97/11.39 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (46) RankingReductionPairProof (EQUIVALENT) 36.97/11.39 Interpretation: 36.97/11.39 [ f9249_0_indexOf_FieldAccess ] = f9249_0_indexOf_FieldAccess_7 36.97/11.39 36.97/11.39 The following rules are decreasing: 36.97/11.39 f9249_0_indexOf_FieldAccess(c6, c7, c8, x60:0, x61:0, x61:0, x60:0, x56:0) -> f9249_0_indexOf_FieldAccess(c9, c10, c11, x63:0, x64:0, c12, x65:0, x56:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && (c7 = 0 && c6 = 0))))) && (x66:0 > 0 && x67:0 > 1 && x61:0 > -1 && x65:0 > 0 && x64:0 < x61:0 && x60:0 > -1 && x65:0 < x60:0) 36.97/11.39 36.97/11.39 The following rules are bounded: 36.97/11.39 f9249_0_indexOf_FieldAccess(c6, c7, c8, x60:0, x61:0, x61:0, x60:0, x56:0) -> f9249_0_indexOf_FieldAccess(c9, c10, c11, x63:0, x64:0, c12, x65:0, x56:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && (c7 = 0 && c6 = 0))))) && (x66:0 > 0 && x67:0 > 1 && x61:0 > -1 && x65:0 > 0 && x64:0 < x61:0 && x60:0 > -1 && x65:0 < x60:0) 36.97/11.39 36.97/11.39 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (47) 36.97/11.39 YES 36.97/11.39 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (48) 36.97/11.39 Obligation: 36.97/11.39 SCC of termination graph based on JBC Program. 36.97/11.39 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateContains.main([Ljava/lang/String;)V 36.97/11.39 SCC calls the following helper methods: javaUtilEx.Content.equals(Ljava/lang/Object;)Z 36.97/11.39 Performed SCC analyses: 36.97/11.39 *Used field analysis yielded the following read fields: 36.97/11.39 *javaUtilEx.LinkedList$Entry: [element, next] 36.97/11.39 *javaUtilEx.LinkedList: [header] 36.97/11.39 *Marker field analysis yielded the following relations that could be markers: 36.97/11.39 36.97/11.39 ---------------------------------------- 36.97/11.39 36.97/11.39 (49) SCCToIRSProof (SOUND) 36.97/11.39 Transformed FIGraph SCCs to intTRSs. Log: 36.97/11.39 Generated rules. Obtained 65 IRulesP rules: 36.97/11.39 f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), java.lang.Object(o16462sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494, java.lang.Object(o16460sub1415886494))), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462, o16462[LinkedList$Entry.next]o16458) -> f8288_0_indexOf_Load(EOS(STATIC_8288), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462, o16462[LinkedList$Entry.next]o16458) :|: TRUE 36.97/11.39 f8288_0_indexOf_Load(EOS(STATIC_8288), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462, o16462[LinkedList$Entry.next]o16458) -> f8298_0_indexOf_Load(EOS(STATIC_8298), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), java.lang.Object(javaUtilEx.Content(EOC)), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462, o16462[LinkedList$Entry.next]o16458) :|: TRUE 36.97/11.39 f8298_0_indexOf_Load(EOS(STATIC_8298), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), java.lang.Object(javaUtilEx.Content(EOC)), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462, o16462[LinkedList$Entry.next]o16458) -> f8309_0_indexOf_FieldAccess(EOS(STATIC_8309), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462, o16462[LinkedList$Entry.next]o16458) :|: TRUE 36.97/11.39 f8309_0_indexOf_FieldAccess(EOS(STATIC_8309), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462, o16462[LinkedList$Entry.next]o16458) -> f8321_0_indexOf_FieldAccess(EOS(STATIC_8321), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o16462, o16462[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460) :|: o16462[LinkedList$Entry.next]o16460 > 0 && o16460[LinkedList$Entry.next]o16462 > 0 36.97/11.39 f8309_0_indexOf_FieldAccess(EOS(STATIC_8309), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o17452sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17452sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17452sub0), o17452[LinkedList$Entry.next]o16458, o17452[LinkedList$Entry.next]o17452, o17452[LinkedList$Entry.next]o17452, o17452[LinkedList$Entry.next]o16458) -> f8322_0_indexOf_FieldAccess(EOS(STATIC_8322), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o17452sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17452sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17452sub0), o17452[LinkedList$Entry.next]o16458, o17452[LinkedList$Entry.next]o17452) :|: TRUE 36.97/11.39 f8321_0_indexOf_FieldAccess(EOS(STATIC_8321), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805, java.lang.Object(o17487sub1416812805))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805, java.lang.Object(o17487sub1416812805))), o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17485[LinkedList$Entry.next]o16458, o17485[LinkedList$Entry.next]o16460) -> f8332_0_indexOf_FieldAccess(EOS(STATIC_8332), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805, java.lang.Object(o17487sub1416812805))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805, java.lang.Object(o17487sub1416812805))), o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) :|: o17487[LinkedList$Entry.next]o16458 < o17485[LinkedList$Entry.next]o16458 && o17485[LinkedList$Entry.next]o16458 >= 0 && o17487[LinkedList$Entry.next]o16460 < o17485[LinkedList$Entry.next]o16460 && o17485[LinkedList$Entry.next]o16460 >= 0 36.97/11.39 f8332_0_indexOf_FieldAccess(EOS(STATIC_8332), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805, java.lang.Object(o17487sub1416812805))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805, java.lang.Object(o17487sub1416812805))), o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) -> f8344_0_indexOf_InvokeMethod(EOS(STATIC_8344), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805, java.lang.Object(o17487sub1416812805))), java.lang.Object(javaUtilEx.Content(EOC)), o174860, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) :|: TRUE 36.97/11.39 f8344_0_indexOf_InvokeMethod(EOS(STATIC_8344), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805, java.lang.Object(o17487sub1416812805))), java.lang.Object(javaUtilEx.Content(EOC)), o174860, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) -> f8357_0_equals_Load(EOS(STATIC_8357), java.lang.Object(javaUtilEx.Content(EOC)), o174860, java.lang.Object(o16460sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494, java.lang.Object(o16460sub1415886494))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805, java.lang.Object(o17487sub1416812805))), java.lang.Object(o17487sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174860, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) :|: i5207 > 1 36.97/11.39 f8344_0_indexOf_InvokeMethod(EOS(STATIC_8344), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805, java.lang.Object(o17487sub1416812805))), java.lang.Object(javaUtilEx.Content(EOC)), o174860, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) -> f8357_1_equals_Load(EOS(STATIC_8357), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805, java.lang.Object(o17487sub1416812805))), java.lang.Object(javaUtilEx.Content(EOC)), o174860, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) :|: i5207 > 1 36.97/11.39 f8357_0_equals_Load(EOS(STATIC_8357), java.lang.Object(javaUtilEx.Content(EOC)), o174860, java.lang.Object(o16460sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494, java.lang.Object(o16460sub1415886494))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805, java.lang.Object(o17487sub1416812805))), java.lang.Object(o17487sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174860, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) -> f10100_0_equals_Load(EOS(STATIC_10100), java.lang.Object(javaUtilEx.Content(EOC)), o174860, java.lang.Object(o16460sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494, java.lang.Object(o16460sub1415886494))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805, java.lang.Object(o17487sub1416812805))), java.lang.Object(o17487sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174860, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) :|: TRUE 36.97/11.39 f8749_0_equals_Return(EOS(STATIC_8749), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17487sub1416812805))), matching1, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) -> f8440_0_equals_Return(EOS(STATIC_8440), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17487sub1416812805))), 0, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) :|: TRUE && matching1 = 0 36.97/11.39 f8440_0_equals_Return(EOS(STATIC_8440), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183611417704458, java.lang.Object(o18362sub1417704458))), matching1, o18358[LinkedList$Entry.next]o18356, o18358[LinkedList$Entry.next]o18360, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358) -> f8458_0_indexOf_EQ(EOS(STATIC_8458), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183611417704458, java.lang.Object(o18362sub1417704458))), 0, o18358[LinkedList$Entry.next]o18356, o18358[LinkedList$Entry.next]o18360, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358) :|: TRUE && matching1 = 0 36.97/11.39 f8458_0_indexOf_EQ(EOS(STATIC_8458), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183611417704458, java.lang.Object(o18362sub1417704458))), matching1, o18358[LinkedList$Entry.next]o18356, o18358[LinkedList$Entry.next]o18360, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358) -> f8473_0_indexOf_Inc(EOS(STATIC_8473), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183611417704458, java.lang.Object(o18362sub1417704458))), o18358[LinkedList$Entry.next]o18356, o18358[LinkedList$Entry.next]o18360, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358) :|: TRUE && matching1 = 0 36.97/11.39 f8473_0_indexOf_Inc(EOS(STATIC_8473), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183611417704458, java.lang.Object(o18362sub1417704458))), o18358[LinkedList$Entry.next]o18356, o18358[LinkedList$Entry.next]o18360, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358) -> f8490_0_indexOf_Load(EOS(STATIC_8490), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183611417704458, java.lang.Object(o18362sub1417704458))), o18358[LinkedList$Entry.next]o18356, o18358[LinkedList$Entry.next]o18360, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358) :|: TRUE 36.97/11.39 f8490_0_indexOf_Load(EOS(STATIC_8490), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183611417704458, java.lang.Object(o18362sub1417704458))), o18358[LinkedList$Entry.next]o18356, o18358[LinkedList$Entry.next]o18360, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358) -> f8501_0_indexOf_FieldAccess(EOS(STATIC_8501), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183611417704458, java.lang.Object(o18362sub1417704458))), o18358[LinkedList$Entry.next]o18356, o18358[LinkedList$Entry.next]o18360, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358) :|: TRUE 36.97/11.39 f8501_0_indexOf_FieldAccess(EOS(STATIC_8501), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183611417704458, java.lang.Object(o18362sub1417704458))), o18358[LinkedList$Entry.next]o18356, o18358[LinkedList$Entry.next]o18360, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358) -> f8515_0_indexOf_Store(EOS(STATIC_8515), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18362sub0), o18358[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358, o18358[LinkedList$Entry.next]o18362) :|: o18358[LinkedList$Entry.next]o18362 > o18358[LinkedList$Entry.next]o18360 && o18358[LinkedList$Entry.next]o18360 >= 0 36.97/11.39 f8515_0_indexOf_Store(EOS(STATIC_8515), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18362sub0), o18358[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358, o18358[LinkedList$Entry.next]o18362) -> f8537_0_indexOf_JMP(EOS(STATIC_8537), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18362sub0), o18358[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358, o18358[LinkedList$Entry.next]o18362) :|: TRUE 36.97/11.39 f8537_0_indexOf_JMP(EOS(STATIC_8537), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18362sub0), o18358[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358, o18358[LinkedList$Entry.next]o18362) -> f8555_0_indexOf_Load(EOS(STATIC_8555), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18362sub0), o18358[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358, o18358[LinkedList$Entry.next]o18362) :|: TRUE 36.97/11.39 f8555_0_indexOf_Load(EOS(STATIC_8555), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18362sub0), o18358[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358, o18358[LinkedList$Entry.next]o18362) -> f8222_0_indexOf_Load(EOS(STATIC_8222), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18357-1459559961, java.lang.Object(o18358sub-1459559961)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18362sub0), o18358[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18356, o18362[LinkedList$Entry.next]o18358, o18358[LinkedList$Entry.next]o18362) :|: TRUE 36.97/11.39 f8222_0_indexOf_Load(EOS(STATIC_8222), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462) -> f8239_0_indexOf_Load(EOS(STATIC_8239), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), java.lang.Object(o16462sub0), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462) :|: TRUE 36.97/11.39 f8239_0_indexOf_Load(EOS(STATIC_8239), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), java.lang.Object(o16462sub0), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462) -> f8256_0_indexOf_FieldAccess(EOS(STATIC_8256), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), java.lang.Object(o16462sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462) :|: TRUE 36.97/11.39 f8256_0_indexOf_FieldAccess(EOS(STATIC_8256), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), java.lang.Object(o16462sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462) -> f8266_0_indexOf_EQ(EOS(STATIC_8266), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), java.lang.Object(o16462sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494, java.lang.Object(o16460sub1415886494))), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462) :|: TRUE 36.97/11.39 f8266_0_indexOf_EQ(EOS(STATIC_8266), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), java.lang.Object(o16462sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494, java.lang.Object(o16460sub1415886494))), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462) -> f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16462sub0), java.lang.Object(o16462sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494, java.lang.Object(o16460sub1415886494))), o16460[LinkedList$Entry.next]o16458, o16462[LinkedList$Entry.next]o16460, o16460[LinkedList$Entry.next]o16462, o16462[LinkedList$Entry.next]o16458) :|: o16462[LinkedList$Entry.next]o16458 > 0 36.97/11.39 f8762_0_equals_Return(EOS(STATIC_8762), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22139sub1416812805), java.lang.Object(o17487sub1416812805))), matching1, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) -> f8440_0_equals_Return(EOS(STATIC_8440), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22139sub1416812805), java.lang.Object(o17487sub1416812805))), 0, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) :|: TRUE && matching1 = 0 36.97/11.39 f8865_0_equals_Return(EOS(STATIC_8865), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17487sub1416812805))), matching1, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) -> f8528_0_equals_Return(EOS(STATIC_8528), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17487sub1416812805))), 0, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) :|: TRUE && matching1 = 0 36.97/11.39 f8528_0_equals_Return(EOS(STATIC_8528), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19634-1457538203, java.lang.Object(o19635sub-1457538203)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub1418714686))), i5906, o19635[LinkedList$Entry.next]o19633, o19635[LinkedList$Entry.next]o19637, o19639[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19635) -> f8543_0_indexOf_EQ(EOS(STATIC_8543), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19634-1457538203, java.lang.Object(o19635sub-1457538203)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub1418714686))), i5906, o19635[LinkedList$Entry.next]o19633, o19635[LinkedList$Entry.next]o19637, o19639[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19635) :|: TRUE 36.97/11.39 f8543_0_indexOf_EQ(EOS(STATIC_8543), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19634-1457538203, java.lang.Object(o19635sub-1457538203)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub1418714686))), matching1, o19635[LinkedList$Entry.next]o19633, o19635[LinkedList$Entry.next]o19637, o19639[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19635) -> f8564_0_indexOf_EQ(EOS(STATIC_8564), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19634-1457538203, java.lang.Object(o19635sub-1457538203)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub1418714686))), 0, o19635[LinkedList$Entry.next]o19633, o19635[LinkedList$Entry.next]o19637, o19639[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19635) :|: TRUE && matching1 = 0 36.97/11.39 f8564_0_indexOf_EQ(EOS(STATIC_8564), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19634-1457538203, java.lang.Object(o19635sub-1457538203)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub1418714686))), matching1, o19635[LinkedList$Entry.next]o19633, o19635[LinkedList$Entry.next]o19637, o19639[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19635) -> f8582_0_indexOf_Inc(EOS(STATIC_8582), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19634-1457538203, java.lang.Object(o19635sub-1457538203)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub1418714686))), o19635[LinkedList$Entry.next]o19633, o19635[LinkedList$Entry.next]o19637, o19639[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19635) :|: TRUE && matching1 = 0 36.97/11.39 f8582_0_indexOf_Inc(EOS(STATIC_8582), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19634-1457538203, java.lang.Object(o19635sub-1457538203)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub1418714686))), o19635[LinkedList$Entry.next]o19633, o19635[LinkedList$Entry.next]o19637, o19639[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19635) -> f8595_0_indexOf_Load(EOS(STATIC_8595), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19634-1457538203, java.lang.Object(o19635sub-1457538203)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub1418714686))), o19635[LinkedList$Entry.next]o19633, o19635[LinkedList$Entry.next]o19637, o19639[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19635) :|: TRUE 36.97/11.39 f8595_0_indexOf_Load(EOS(STATIC_8595), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19634-1457538203, java.lang.Object(o19635sub-1457538203)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub1418714686))), o19635[LinkedList$Entry.next]o19633, o19635[LinkedList$Entry.next]o19637, o19639[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19635) -> f8609_0_indexOf_FieldAccess(EOS(STATIC_8609), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19634-1457538203, java.lang.Object(o19635sub-1457538203)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub1418714686))), o19635[LinkedList$Entry.next]o19633, o19635[LinkedList$Entry.next]o19637, o19639[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19635) :|: TRUE 36.97/11.39 f8609_0_indexOf_FieldAccess(EOS(STATIC_8609), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19634-1457538203, java.lang.Object(o19635sub-1457538203)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub1418714686))), o19635[LinkedList$Entry.next]o19633, o19635[LinkedList$Entry.next]o19637, o19639[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19635) -> f8623_0_indexOf_Store(EOS(STATIC_8623), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19634-1457538203, java.lang.Object(o19635sub-1457538203)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub0), o19635[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19635, o19635[LinkedList$Entry.next]o19639) :|: o19635[LinkedList$Entry.next]o19639 > o19635[LinkedList$Entry.next]o19637 && o19635[LinkedList$Entry.next]o19637 >= 0 36.97/11.39 f8623_0_indexOf_Store(EOS(STATIC_8623), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19634-1457538203, java.lang.Object(o19635sub-1457538203)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub0), o19635[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19635, o19635[LinkedList$Entry.next]o19639) -> f8515_0_indexOf_Store(EOS(STATIC_8515), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19634-1457538203, java.lang.Object(o19635sub-1457538203)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub0), o19635[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19633, o19639[LinkedList$Entry.next]o19635, o19635[LinkedList$Entry.next]o19639) :|: TRUE 36.97/11.39 f8873_0_equals_Return(EOS(STATIC_8873), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17487sub1416812805))), matching1, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) -> f8528_0_equals_Return(EOS(STATIC_8528), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17487sub1416812805))), 1, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) :|: TRUE && matching1 = 1 36.97/11.39 f8322_0_indexOf_FieldAccess(EOS(STATIC_8322), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-46381410, java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929, java.lang.Object(o17491sub1416812929))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929, java.lang.Object(o17491sub1416812929))), o17489[LinkedList$Entry.next]o16458, o17489[LinkedList$Entry.next]o17489) -> f8333_0_indexOf_FieldAccess(EOS(STATIC_8333), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-46381410, java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929, java.lang.Object(o17491sub1416812929))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929, java.lang.Object(o17491sub1416812929))), o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) :|: o17491[LinkedList$Entry.next]o16458 < o17489[LinkedList$Entry.next]o16458 && o17489[LinkedList$Entry.next]o16458 >= 0 && o17491[LinkedList$Entry.next]o17489 < o17489[LinkedList$Entry.next]o17489 && o17489[LinkedList$Entry.next]o17489 >= 0 36.97/11.39 f8333_0_indexOf_FieldAccess(EOS(STATIC_8333), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-46381410, java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929, java.lang.Object(o17491sub1416812929))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929, java.lang.Object(o17491sub1416812929))), o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) -> f8345_0_indexOf_InvokeMethod(EOS(STATIC_8345), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-46381410, java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929, java.lang.Object(o17491sub1416812929))), java.lang.Object(javaUtilEx.Content(EOC)), o174900, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) :|: TRUE 36.97/11.39 f8345_0_indexOf_InvokeMethod(EOS(STATIC_8345), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-46381410, java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929, java.lang.Object(o17491sub1416812929))), java.lang.Object(javaUtilEx.Content(EOC)), o174900, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) -> f8358_0_equals_Load(EOS(STATIC_8358), java.lang.Object(javaUtilEx.Content(EOC)), o174900, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-1462267873, java.lang.Object(o17491sub-1462267873))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929, java.lang.Object(o17491sub1416812929))), java.lang.Object(o17491sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-46381410, java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174900, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) :|: i5207 > 1 36.97/11.39 f8345_0_indexOf_InvokeMethod(EOS(STATIC_8345), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-46381410, java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929, java.lang.Object(o17491sub1416812929))), java.lang.Object(javaUtilEx.Content(EOC)), o174900, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) -> f8358_1_equals_Load(EOS(STATIC_8358), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-46381410, java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929, java.lang.Object(o17491sub1416812929))), java.lang.Object(javaUtilEx.Content(EOC)), o174900, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) :|: i5207 > 1 36.97/11.39 f8358_0_equals_Load(EOS(STATIC_8358), java.lang.Object(javaUtilEx.Content(EOC)), o174900, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-1462267873, java.lang.Object(o17491sub-1462267873))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929, java.lang.Object(o17491sub1416812929))), java.lang.Object(o17491sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-46381410, java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174900, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) -> f10180_0_equals_Load(EOS(STATIC_10180), java.lang.Object(javaUtilEx.Content(EOC)), o174900, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-1462267873, java.lang.Object(o17491sub-1462267873))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929, java.lang.Object(o17491sub1416812929))), java.lang.Object(o17491sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-46381410, java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174900, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) :|: TRUE 36.97/11.39 f8750_0_equals_Return(EOS(STATIC_8750), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17491sub1416812929))), matching1, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) -> f8444_0_equals_Return(EOS(STATIC_8444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17491sub1416812929))), 0, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) :|: TRUE && matching1 = 0 36.97/11.39 f8444_0_equals_Return(EOS(STATIC_8444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18407-1459509989, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18409-41781258, java.lang.Object(o18410sub-41781258)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o184091417728731, java.lang.Object(o18410sub1417728731))), matching1, o18410[LinkedList$Entry.next]o18406, o18410[LinkedList$Entry.next]o18408) -> f8459_0_indexOf_EQ(EOS(STATIC_8459), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18407-1459509989, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18409-41781258, java.lang.Object(o18410sub-41781258)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o184091417728731, java.lang.Object(o18410sub1417728731))), 0, o18410[LinkedList$Entry.next]o18406, o18410[LinkedList$Entry.next]o18408) :|: TRUE && matching1 = 0 36.97/11.39 f8459_0_indexOf_EQ(EOS(STATIC_8459), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18407-1459509989, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18409-41781258, java.lang.Object(o18410sub-41781258)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o184091417728731, java.lang.Object(o18410sub1417728731))), matching1, o18410[LinkedList$Entry.next]o18406, o18410[LinkedList$Entry.next]o18408) -> f8474_0_indexOf_Inc(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18407-1459509989, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18409-41781258, java.lang.Object(o18410sub-41781258)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o184091417728731, java.lang.Object(o18410sub1417728731))), o18410[LinkedList$Entry.next]o18406, o18410[LinkedList$Entry.next]o18408) :|: TRUE && matching1 = 0 36.97/11.39 f8474_0_indexOf_Inc(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18407-1459509989, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18409-41781258, java.lang.Object(o18410sub-41781258)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o184091417728731, java.lang.Object(o18410sub1417728731))), o18410[LinkedList$Entry.next]o18406, o18410[LinkedList$Entry.next]o18408) -> f8491_0_indexOf_Load(EOS(STATIC_8491), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18407-1459509989, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18409-41781258, java.lang.Object(o18410sub-41781258)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o184091417728731, java.lang.Object(o18410sub1417728731))), o18410[LinkedList$Entry.next]o18406, o18410[LinkedList$Entry.next]o18408) :|: TRUE 36.97/11.39 f8491_0_indexOf_Load(EOS(STATIC_8491), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18407-1459509989, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18409-41781258, java.lang.Object(o18410sub-41781258)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o184091417728731, java.lang.Object(o18410sub1417728731))), o18410[LinkedList$Entry.next]o18406, o18410[LinkedList$Entry.next]o18408) -> f8502_0_indexOf_FieldAccess(EOS(STATIC_8502), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18407-1459509989, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18409-41781258, java.lang.Object(o18410sub-41781258)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o184091417728731, java.lang.Object(o18410sub1417728731))), o18410[LinkedList$Entry.next]o18406, o18410[LinkedList$Entry.next]o18408) :|: TRUE 36.97/11.39 f8502_0_indexOf_FieldAccess(EOS(STATIC_8502), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18407-1459509989, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18409-41781258, java.lang.Object(o18410sub-41781258)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o184091417728731, java.lang.Object(o18410sub1417728731))), o18410[LinkedList$Entry.next]o18406, o18410[LinkedList$Entry.next]o18408) -> f8516_0_indexOf_Store(EOS(STATIC_8516), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18407-1459509989, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18409-41781258, java.lang.Object(o18410sub-41781258)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18410sub0), o18410[LinkedList$Entry.next]o18406, o18410[LinkedList$Entry.next]o18408) :|: TRUE 36.97/11.39 f8516_0_indexOf_Store(EOS(STATIC_8516), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18407-1459509989, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18409-41781258, java.lang.Object(o18410sub-41781258)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18410sub0), o18410[LinkedList$Entry.next]o18406, o18410[LinkedList$Entry.next]o18408) -> f8623_0_indexOf_Store(EOS(STATIC_8623), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18407-1459509989, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18409-41781258, java.lang.Object(o18410sub-41781258)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18410sub0), o18408[LinkedList$Entry.next]o18406, o18410[LinkedList$Entry.next]o18406, o18410[LinkedList$Entry.next]o18408, o18408[LinkedList$Entry.next]o18410) :|: o18408[LinkedList$Entry.next]o18410 = 1 36.97/11.39 f8763_0_equals_Return(EOS(STATIC_8763), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22153sub-46381410), java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22153sub1416812929), java.lang.Object(o17491sub1416812929))), matching1, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) -> f8444_0_equals_Return(EOS(STATIC_8444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22153sub-46381410), java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22153sub1416812929), java.lang.Object(o17491sub1416812929))), 0, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) :|: TRUE && matching1 = 0 36.97/11.39 f8866_0_equals_Return(EOS(STATIC_8866), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub1416812929))), matching1, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) -> f8530_0_equals_Return(EOS(STATIC_8530), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub1416812929))), 0, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) :|: TRUE && matching1 = 0 36.97/11.39 f8530_0_equals_Return(EOS(STATIC_8530), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub1418717476))), i5922, o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) -> f8544_0_indexOf_EQ(EOS(STATIC_8544), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub1418717476))), i5922, o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) :|: TRUE 36.97/11.39 f8544_0_indexOf_EQ(EOS(STATIC_8544), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub1418717476))), matching1, o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) -> f8566_0_indexOf_EQ(EOS(STATIC_8566), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub1418717476))), 0, o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) :|: TRUE && matching1 = 0 36.97/11.39 f8566_0_indexOf_EQ(EOS(STATIC_8566), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub1418717476))), matching1, o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) -> f8584_0_indexOf_Inc(EOS(STATIC_8584), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub1418717476))), o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) :|: TRUE && matching1 = 0 36.97/11.39 f8584_0_indexOf_Inc(EOS(STATIC_8584), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub1418717476))), o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) -> f8596_0_indexOf_Load(EOS(STATIC_8596), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub1418717476))), o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) :|: TRUE 36.97/11.39 f8596_0_indexOf_Load(EOS(STATIC_8596), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub1418717476))), o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) -> f8610_0_indexOf_FieldAccess(EOS(STATIC_8610), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub1418717476))), o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) :|: TRUE 36.97/11.39 f8610_0_indexOf_FieldAccess(EOS(STATIC_8610), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub1418717476))), o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) -> f8624_0_indexOf_Store(EOS(STATIC_8624), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub0), o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) :|: TRUE 36.97/11.39 f8624_0_indexOf_Store(EOS(STATIC_8624), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub0), o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) -> f8636_0_indexOf_JMP(EOS(STATIC_8636), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub0), o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) :|: TRUE 36.97/11.39 f8636_0_indexOf_JMP(EOS(STATIC_8636), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub0), o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) -> f8652_0_indexOf_Load(EOS(STATIC_8652), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub0), o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) :|: TRUE 36.97/11.39 f8652_0_indexOf_Load(EOS(STATIC_8652), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub0), o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664) -> f8222_0_indexOf_Load(EOS(STATIC_8222), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19663-1457532499, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub-38815023)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub0), o19664[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19662, o19666[LinkedList$Entry.next]o19664, o19664[LinkedList$Entry.next]o19666) :|: o19664[LinkedList$Entry.next]o19666 = 1 36.97/11.39 f8874_0_equals_Return(EOS(STATIC_8874), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub1416812929))), matching1, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) -> f8530_0_equals_Return(EOS(STATIC_8530), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub1416812929))), 1, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) :|: TRUE && matching1 = 1 36.97/11.39 f8357_1_equals_Load(EOS(STATIC_8357), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17487sub1416812805))), java.lang.Object(javaUtilEx.Content(EOC)), NULL, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) -> f8749_0_equals_Return(EOS(STATIC_8749), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17487sub1416812805))), 0, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) :|: TRUE 36.97/11.39 f8357_1_equals_Load(EOS(STATIC_8357), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22139sub1416812805), java.lang.Object(o17487sub1416812805))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o22139sub0), o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) -> f8762_0_equals_Return(EOS(STATIC_8762), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22139sub1416812805), java.lang.Object(o17487sub1416812805))), 0, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) :|: TRUE 36.97/11.39 f8357_1_equals_Load(EOS(STATIC_8357), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17487sub1416812805))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) -> f8865_0_equals_Return(EOS(STATIC_8865), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17487sub1416812805))), 0, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) :|: TRUE 36.97/11.39 f8357_1_equals_Load(EOS(STATIC_8357), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17487sub1416812805))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) -> f8873_0_equals_Return(EOS(STATIC_8873), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(o16460sub-1463194339)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17487sub1416812805))), 1, o16460[LinkedList$Entry.next]o16458, o16460[LinkedList$Entry.next]o17485, o17487[LinkedList$Entry.next]o16458, o17487[LinkedList$Entry.next]o16460) :|: TRUE 36.97/11.39 f8358_1_equals_Load(EOS(STATIC_8358), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17491sub1416812929))), java.lang.Object(javaUtilEx.Content(EOC)), NULL, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) -> f8750_0_equals_Return(EOS(STATIC_8750), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17491sub1416812929))), 0, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) :|: TRUE 36.97/11.39 f8358_1_equals_Load(EOS(STATIC_8358), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22153sub-46381410), java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22153sub1416812929), java.lang.Object(o17491sub1416812929))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o22153sub0), o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) -> f8763_0_equals_Return(EOS(STATIC_8763), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22153sub-46381410), java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22153sub1416812929), java.lang.Object(o17491sub1416812929))), 0, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) :|: TRUE 36.97/11.39 f8358_1_equals_Load(EOS(STATIC_8358), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub1416812929))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) -> f8866_0_equals_Return(EOS(STATIC_8866), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub1416812929))), 0, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) :|: TRUE 36.97/11.39 f8358_1_equals_Load(EOS(STATIC_8358), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub1416812929))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) -> f8874_0_equals_Return(EOS(STATIC_8874), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub-46381410)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub1416812929))), 1, o17491[LinkedList$Entry.next]o16458, o17491[LinkedList$Entry.next]o17489) :|: TRUE 36.97/11.39 Combined rules. Obtained 8 IRulesP rules: 36.97/11.39 f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17487sub1416812805:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17487sub1416812805:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:0, java.lang.Object(o16460sub1415886494:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16462:0, o16462[LinkedList$Entry.next]o16458:0) -> f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18362sub0:0), java.lang.Object(o18362sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:1, java.lang.Object(o16460sub1415886494:1))), o16460[LinkedList$Entry.next]o16458:0, o17487[LinkedList$Entry.next]o16460:0, o18358[LinkedList$Entry.next]o18362:0, o17487[LinkedList$Entry.next]o16458:0) :|: o16460[LinkedList$Entry.next]o16462:0 > 0 && o16462[LinkedList$Entry.next]o16460:0 > 0 && o18358[LinkedList$Entry.next]o18362:0 > o16460[LinkedList$Entry.next]o16462:0 && o16462[LinkedList$Entry.next]o16458:0 > -1 && o17487[LinkedList$Entry.next]o16458:0 < o16462[LinkedList$Entry.next]o16458:0 && o17487[LinkedList$Entry.next]o16460:0 < o16462[LinkedList$Entry.next]o16460:0 && o17487[LinkedList$Entry.next]o16458:0 > 0 && i5207:0 > 1 36.97/11.39 f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17491sub-46381410:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17491sub1416812929:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17491sub1416812929:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:0, java.lang.Object(o16460sub1415886494:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16458:0) -> f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17491sub-46381410:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18410sub0:0), java.lang.Object(o18410sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:1, java.lang.Object(o16460sub1415886494:1))), o18408[LinkedList$Entry.next]o18406:0, o17491[LinkedList$Entry.next]o17489:0, 1, o17491[LinkedList$Entry.next]o16458:0) :|: o16460[LinkedList$Entry.next]o16458:0 > -1 && o17491[LinkedList$Entry.next]o16458:0 < o16460[LinkedList$Entry.next]o16458:0 && o17491[LinkedList$Entry.next]o17489:0 < o16462[LinkedList$Entry.next]o16460:0 && o16462[LinkedList$Entry.next]o16460:0 > -1 && i5207:0 > 1 && o17491[LinkedList$Entry.next]o16458:0 > 0 36.97/11.39 f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17487sub1416812805:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17487sub1416812805:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:0, java.lang.Object(o16460sub1415886494:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16462:0, o16462[LinkedList$Entry.next]o16458:0) -> f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19639sub0:0), java.lang.Object(o19639sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:1, java.lang.Object(o16460sub1415886494:1))), o16460[LinkedList$Entry.next]o16458:0, o17487[LinkedList$Entry.next]o16460:0, o19635[LinkedList$Entry.next]o19639:0, o17487[LinkedList$Entry.next]o16458:0) :|: o16460[LinkedList$Entry.next]o16462:0 > 0 && o16462[LinkedList$Entry.next]o16460:0 > 0 && o16462[LinkedList$Entry.next]o16458:0 > -1 && o17487[LinkedList$Entry.next]o16458:0 < o16462[LinkedList$Entry.next]o16458:0 && o17487[LinkedList$Entry.next]o16460:0 < o16462[LinkedList$Entry.next]o16460:0 && o19635[LinkedList$Entry.next]o19639:0 > o16460[LinkedList$Entry.next]o16462:0 && i5207:0 > 1 && o17487[LinkedList$Entry.next]o16458:0 > 0 36.97/11.39 f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22153sub-46381410:0), java.lang.Object(o17491sub-46381410:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22153sub1416812929:0), java.lang.Object(o17491sub1416812929:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22153sub1416812929:0), java.lang.Object(o17491sub1416812929:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:0, java.lang.Object(o16460sub1415886494:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16458:0) -> f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22153sub-46381410:0), java.lang.Object(o17491sub-46381410:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18410sub0:0), java.lang.Object(o18410sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:1, java.lang.Object(o16460sub1415886494:1))), o18408[LinkedList$Entry.next]o18406:0, o17491[LinkedList$Entry.next]o17489:0, 1, o17491[LinkedList$Entry.next]o16458:0) :|: o16460[LinkedList$Entry.next]o16458:0 > -1 && o17491[LinkedList$Entry.next]o16458:0 < o16460[LinkedList$Entry.next]o16458:0 && o17491[LinkedList$Entry.next]o17489:0 < o16462[LinkedList$Entry.next]o16460:0 && o16462[LinkedList$Entry.next]o16460:0 > -1 && i5207:0 > 1 && o17491[LinkedList$Entry.next]o16458:0 > 0 36.97/11.39 f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub-46381410:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub1416812929:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub1416812929:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:0, java.lang.Object(o16460sub1415886494:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16458:0) -> f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17491sub-46381410:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19666sub0:0), java.lang.Object(o19666sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:1, java.lang.Object(o16460sub1415886494:1))), o19664[LinkedList$Entry.next]o19662:0, o17491[LinkedList$Entry.next]o17489:0, 1, o17491[LinkedList$Entry.next]o16458:0) :|: o16460[LinkedList$Entry.next]o16458:0 > -1 && o17491[LinkedList$Entry.next]o16458:0 < o16460[LinkedList$Entry.next]o16458:0 && o17491[LinkedList$Entry.next]o17489:0 < o16462[LinkedList$Entry.next]o16460:0 && o16462[LinkedList$Entry.next]o16460:0 > -1 && i5207:0 > 1 && o17491[LinkedList$Entry.next]o16458:0 > 0 36.97/11.39 f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22139sub1416812805:0), java.lang.Object(o17487sub1416812805:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22139sub1416812805:0), java.lang.Object(o17487sub1416812805:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:0, java.lang.Object(o16460sub1415886494:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16462:0, o16462[LinkedList$Entry.next]o16458:0) -> f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18362sub0:0), java.lang.Object(o18362sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:1, java.lang.Object(o16460sub1415886494:1))), o16460[LinkedList$Entry.next]o16458:0, o17487[LinkedList$Entry.next]o16460:0, o18358[LinkedList$Entry.next]o18362:0, o17487[LinkedList$Entry.next]o16458:0) :|: o16460[LinkedList$Entry.next]o16462:0 > 0 && o16462[LinkedList$Entry.next]o16460:0 > 0 && o18358[LinkedList$Entry.next]o18362:0 > o16460[LinkedList$Entry.next]o16462:0 && o16462[LinkedList$Entry.next]o16458:0 > -1 && o17487[LinkedList$Entry.next]o16458:0 < o16462[LinkedList$Entry.next]o16458:0 && o17487[LinkedList$Entry.next]o16460:0 < o16462[LinkedList$Entry.next]o16460:0 && o17487[LinkedList$Entry.next]o16458:0 > 0 && i5207:0 > 1 36.97/11.39 Removed following non-SCC rules: 36.97/11.39 f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-46381410:0, java.lang.Object(o17491sub-46381410:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929:0, java.lang.Object(o17491sub1416812929:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929:0, java.lang.Object(o17491sub1416812929:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:0, java.lang.Object(o16460sub1415886494:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16458:0) -> f10180_0_equals_Load(EOS(STATIC_10180), java.lang.Object(javaUtilEx.Content(EOC)), o174900:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:1, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-1462267873:0, java.lang.Object(o17491sub-1462267873:0))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174901416812929:0, java.lang.Object(o17491sub1416812929:0))), java.lang.Object(o17491sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17490-46381410:0, java.lang.Object(o17491sub-46381410:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174900:0, o17491[LinkedList$Entry.next]o16458:0, o17491[LinkedList$Entry.next]o17489:0) :|: o16460[LinkedList$Entry.next]o16458:0 > -1 && o17491[LinkedList$Entry.next]o16458:0 < o16460[LinkedList$Entry.next]o16458:0 && o17491[LinkedList$Entry.next]o17489:0 < o16462[LinkedList$Entry.next]o16460:0 && i5207:0 > 1 && o16462[LinkedList$Entry.next]o16460:0 > -1 36.97/11.39 f8278_0_indexOf_EQ(EOS(STATIC_8278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805:0, java.lang.Object(o17487sub1416812805:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805:0, java.lang.Object(o17487sub1416812805:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:0, java.lang.Object(o16460sub1415886494:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16462:0, o16462[LinkedList$Entry.next]o16458:0) -> f10100_0_equals_Load(EOS(STATIC_10100), java.lang.Object(javaUtilEx.Content(EOC)), o174860:0, java.lang.Object(o16460sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o164591415886494:1, java.lang.Object(o16460sub1415886494:1))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174861416812805:0, java.lang.Object(o17487sub1416812805:0))), java.lang.Object(o17487sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174860:0, o16460[LinkedList$Entry.next]o16458:0, o16460[LinkedList$Entry.next]o16462:0, o17487[LinkedList$Entry.next]o16458:0, o17487[LinkedList$Entry.next]o16460:0) :|: o16462[LinkedList$Entry.next]o16460:0 > 0 && o16462[LinkedList$Entry.next]o16458:0 > -1 && o17487[LinkedList$Entry.next]o16458:0 < o16462[LinkedList$Entry.next]o16458:0 && o17487[LinkedList$Entry.next]o16460:0 < o16462[LinkedList$Entry.next]o16460:0 && i5207:0 > 1 && o16460[LinkedList$Entry.next]o16462:0 > 0 36.97/11.39 Filtered constant ground arguments: 36.97/11.39 f8278_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f8278_0_indexOf_EQ(x2, x4, x5, x6, x7, x8, x9, x10) 36.97/11.39 EOS(x1) -> EOS 36.97/11.39 javaUtilEx.Content(x1) -> javaUtilEx.Content 36.97/11.39 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 36.97/11.39 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 36.97/11.39 Filtered duplicate arguments: 36.97/11.39 f8278_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8) -> f8278_0_indexOf_EQ(x1, x3, x4, x5, x6, x7, x8) 36.97/11.39 Filtered unneeded arguments: 36.97/11.39 f8278_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7) -> f8278_0_indexOf_EQ(x1, x2, x4, x5, x6, x7) 36.97/11.39 Finished conversion. Obtained 6 rules.P rules: 36.97/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17487sub1416812805:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16462:0, o16462[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(o18362sub0:0), o16460[LinkedList$Entry.next]o16458:0, o17487[LinkedList$Entry.next]o16460:0, o18358[LinkedList$Entry.next]o18362:0, o17487[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) :|: o16462[LinkedList$Entry.next]o16460:0 > 0 && o16460[LinkedList$Entry.next]o16462:0 > 0 && o18358[LinkedList$Entry.next]o18362:0 > o16460[LinkedList$Entry.next]o16462:0 && o16462[LinkedList$Entry.next]o16458:0 > -1 && o17487[LinkedList$Entry.next]o16458:0 < o16462[LinkedList$Entry.next]o16458:0 && o17487[LinkedList$Entry.next]o16460:0 < o16462[LinkedList$Entry.next]o16460:0 && i5207:0 > 1 && o17487[LinkedList$Entry.next]o16458:0 > 0 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17491sub-46381410:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17491sub1416812929:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17491sub-46381410:0)))))))))), java.lang.Object(o18410sub0:0), o18408[LinkedList$Entry.next]o18406:0, o17491[LinkedList$Entry.next]o17489:0, 1, o17491[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) :|: o17491[LinkedList$Entry.next]o16458:0 < o16460[LinkedList$Entry.next]o16458:0 && o16460[LinkedList$Entry.next]o16458:0 > -1 && o17491[LinkedList$Entry.next]o17489:0 < o16462[LinkedList$Entry.next]o16460:0 && o16462[LinkedList$Entry.next]o16460:0 > -1 && o17491[LinkedList$Entry.next]o16458:0 > 0 && i5207:0 > 1 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o17487sub1416812805:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16462:0, o16462[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(o19639sub0:0), o16460[LinkedList$Entry.next]o16458:0, o17487[LinkedList$Entry.next]o16460:0, o19635[LinkedList$Entry.next]o19639:0, o17487[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) :|: o16462[LinkedList$Entry.next]o16460:0 > 0 && o16460[LinkedList$Entry.next]o16462:0 > 0 && o16462[LinkedList$Entry.next]o16458:0 > -1 && o17487[LinkedList$Entry.next]o16458:0 < o16462[LinkedList$Entry.next]o16458:0 && o17487[LinkedList$Entry.next]o16460:0 < o16462[LinkedList$Entry.next]o16460:0 && o19635[LinkedList$Entry.next]o19639:0 > o16460[LinkedList$Entry.next]o16462:0 && o17487[LinkedList$Entry.next]o16458:0 > 0 && i5207:0 > 1 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o22153sub-46381410:0), java.lang.Object(o17491sub-46381410:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o22153sub1416812929:0), java.lang.Object(o17491sub1416812929:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o22153sub-46381410:0), java.lang.Object(o17491sub-46381410:0)))))))))), java.lang.Object(o18410sub0:0), o18408[LinkedList$Entry.next]o18406:0, o17491[LinkedList$Entry.next]o17489:0, 1, o17491[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) :|: o17491[LinkedList$Entry.next]o16458:0 < o16460[LinkedList$Entry.next]o16458:0 && o16460[LinkedList$Entry.next]o16458:0 > -1 && o17491[LinkedList$Entry.next]o17489:0 < o16462[LinkedList$Entry.next]o16460:0 && o16462[LinkedList$Entry.next]o16460:0 > -1 && o17491[LinkedList$Entry.next]o16458:0 > 0 && i5207:0 > 1 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o17491sub-46381410:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o17491sub1416812929:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o17491sub-46381410:0)))))))))), java.lang.Object(o19666sub0:0), o19664[LinkedList$Entry.next]o19662:0, o17491[LinkedList$Entry.next]o17489:0, 1, o17491[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) :|: o17491[LinkedList$Entry.next]o16458:0 < o16460[LinkedList$Entry.next]o16458:0 && o16460[LinkedList$Entry.next]o16458:0 > -1 && o17491[LinkedList$Entry.next]o17489:0 < o16462[LinkedList$Entry.next]o16460:0 && o16462[LinkedList$Entry.next]o16460:0 > -1 && o17491[LinkedList$Entry.next]o16458:0 > 0 && i5207:0 > 1 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o22139sub1416812805:0), java.lang.Object(o17487sub1416812805:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16462:0, o16462[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(o18362sub0:0), o16460[LinkedList$Entry.next]o16458:0, o17487[LinkedList$Entry.next]o16460:0, o18358[LinkedList$Entry.next]o18362:0, o17487[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) :|: o16462[LinkedList$Entry.next]o16460:0 > 0 && o16460[LinkedList$Entry.next]o16462:0 > 0 && o18358[LinkedList$Entry.next]o18362:0 > o16460[LinkedList$Entry.next]o16462:0 && o16462[LinkedList$Entry.next]o16458:0 > -1 && o17487[LinkedList$Entry.next]o16458:0 < o16462[LinkedList$Entry.next]o16458:0 && o17487[LinkedList$Entry.next]o16460:0 < o16462[LinkedList$Entry.next]o16460:0 && i5207:0 > 1 && o17487[LinkedList$Entry.next]o16458:0 > 0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (50) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17487sub1416812805:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16462:0, o16462[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(o18362sub0:0), o16460[LinkedList$Entry.next]o16458:0, o17487[LinkedList$Entry.next]o16460:0, o18358[LinkedList$Entry.next]o18362:0, o17487[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) :|: o16462[LinkedList$Entry.next]o16460:0 > 0 && o16460[LinkedList$Entry.next]o16462:0 > 0 && o18358[LinkedList$Entry.next]o18362:0 > o16460[LinkedList$Entry.next]o16462:0 && o16462[LinkedList$Entry.next]o16458:0 > -1 && o17487[LinkedList$Entry.next]o16458:0 < o16462[LinkedList$Entry.next]o16458:0 && o17487[LinkedList$Entry.next]o16460:0 < o16462[LinkedList$Entry.next]o16460:0 && i5207:0 > 1 && o17487[LinkedList$Entry.next]o16458:0 > 0 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x2))), x3, x4, x4, x3, x) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(x5), x6, x7, 1, x8, x) :|: x8 < x3 && x3 > -1 && x7 < x4 && x4 > -1 && x8 > 0 && x9 > 1 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x12))), x13, x14, x15, x16, x10) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(x17), x13, x18, x19, x20, x10) :|: x14 > 0 && x15 > 0 && x16 > -1 && x20 < x16 && x18 < x14 && x19 > x15 && x20 > 0 && x21 > 1 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x23), java.lang.Object(x24)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x25), java.lang.Object(x26))), x27, x28, x28, x27, x22) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x23), java.lang.Object(x24)))))))))), java.lang.Object(x29), x30, x31, 1, x32, x22) :|: x32 < x27 && x27 > -1 && x31 < x28 && x28 > -1 && x32 > 0 && x33 > 1 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x34, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x35)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x36))), x37, x38, x38, x37, x34) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x34, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x35)))))))))), java.lang.Object(x39), x40, x41, 1, x42, x34) :|: x42 < x37 && x37 > -1 && x41 < x38 && x38 > -1 && x42 > 0 && x43 > 1 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x46), java.lang.Object(x47))), x48, x49, x50, x51, x44) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(x52), x48, x53, x54, x55, x44) :|: x49 > 0 && x50 > 0 && x54 > x50 && x51 > -1 && x55 < x51 && x53 < x49 && x56 > 1 && x55 > 0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (51) IRSFormatTransformerProof (EQUIVALENT) 37.14/11.39 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (52) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17487sub1416812805:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16462:0, o16462[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(o18362sub0:0), o16460[LinkedList$Entry.next]o16458:0, o17487[LinkedList$Entry.next]o16460:0, o18358[LinkedList$Entry.next]o18362:0, o17487[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) :|: o16462[LinkedList$Entry.next]o16460:0 > 0 && o16460[LinkedList$Entry.next]o16462:0 > 0 && o18358[LinkedList$Entry.next]o18362:0 > o16460[LinkedList$Entry.next]o16462:0 && o16462[LinkedList$Entry.next]o16458:0 > -1 && o17487[LinkedList$Entry.next]o16458:0 < o16462[LinkedList$Entry.next]o16458:0 && o17487[LinkedList$Entry.next]o16460:0 < o16462[LinkedList$Entry.next]o16460:0 && i5207:0 > 1 && o17487[LinkedList$Entry.next]o16458:0 > 0 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x2))), x3, x4, x4, x3, x) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(x5), x6, x7, 1, x8, x) :|: x8 < x3 && x3 > -1 && x7 < x4 && x4 > -1 && x8 > 0 && x9 > 1 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x12))), x13, x14, x15, x16, x10) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(x17), x13, x18, x19, x20, x10) :|: x14 > 0 && x15 > 0 && x16 > -1 && x20 < x16 && x18 < x14 && x19 > x15 && x20 > 0 && x21 > 1 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x23), java.lang.Object(x24)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x25), java.lang.Object(x26))), x27, x28, x28, x27, x22) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x23), java.lang.Object(x24)))))))))), java.lang.Object(x29), x30, x31, 1, x32, x22) :|: x32 < x27 && x27 > -1 && x31 < x28 && x28 > -1 && x32 > 0 && x33 > 1 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x34, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x35)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x36))), x37, x38, x38, x37, x34) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x34, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x35)))))))))), java.lang.Object(x39), x40, x41, 1, x42, x34) :|: x42 < x37 && x37 > -1 && x41 < x38 && x38 > -1 && x42 > 0 && x43 > 1 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x46), java.lang.Object(x47))), x48, x49, x50, x51, x44) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(x52), x48, x53, x54, x55, x44) :|: x49 > 0 && x50 > 0 && x54 > x50 && x51 > -1 && x55 < x51 && x53 < x49 && x56 > 1 && x55 > 0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (53) IRSwTTerminationDigraphProof (EQUIVALENT) 37.14/11.39 Constructed termination digraph! 37.14/11.39 Nodes: 37.14/11.39 (1) f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17487sub1416812805:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16462:0, o16462[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(o18362sub0:0), o16460[LinkedList$Entry.next]o16458:0, o17487[LinkedList$Entry.next]o16460:0, o18358[LinkedList$Entry.next]o18362:0, o17487[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) :|: o16462[LinkedList$Entry.next]o16460:0 > 0 && o16460[LinkedList$Entry.next]o16462:0 > 0 && o18358[LinkedList$Entry.next]o18362:0 > o16460[LinkedList$Entry.next]o16462:0 && o16462[LinkedList$Entry.next]o16458:0 > -1 && o17487[LinkedList$Entry.next]o16458:0 < o16462[LinkedList$Entry.next]o16458:0 && o17487[LinkedList$Entry.next]o16460:0 < o16462[LinkedList$Entry.next]o16460:0 && i5207:0 > 1 && o17487[LinkedList$Entry.next]o16458:0 > 0 37.14/11.39 (2) f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x2))), x3, x4, x4, x3, x) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(x5), x6, x7, 1, x8, x) :|: x8 < x3 && x3 > -1 && x7 < x4 && x4 > -1 && x8 > 0 && x9 > 1 37.14/11.39 (3) f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x12))), x13, x14, x15, x16, x10) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(x17), x13, x18, x19, x20, x10) :|: x14 > 0 && x15 > 0 && x16 > -1 && x20 < x16 && x18 < x14 && x19 > x15 && x20 > 0 && x21 > 1 37.14/11.39 (4) f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x23), java.lang.Object(x24)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x25), java.lang.Object(x26))), x27, x28, x28, x27, x22) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x23), java.lang.Object(x24)))))))))), java.lang.Object(x29), x30, x31, 1, x32, x22) :|: x32 < x27 && x27 > -1 && x31 < x28 && x28 > -1 && x32 > 0 && x33 > 1 37.14/11.39 (5) f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x34, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x35)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x36))), x37, x38, x38, x37, x34) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x34, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x35)))))))))), java.lang.Object(x39), x40, x41, 1, x42, x34) :|: x42 < x37 && x37 > -1 && x41 < x38 && x38 > -1 && x42 > 0 && x43 > 1 37.14/11.39 (6) f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x46), java.lang.Object(x47))), x48, x49, x50, x51, x44) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(x52), x48, x53, x54, x55, x44) :|: x49 > 0 && x50 > 0 && x54 > x50 && x51 > -1 && x55 < x51 && x53 < x49 && x56 > 1 && x55 > 0 37.14/11.39 37.14/11.39 Arcs: 37.14/11.39 (1) -> (1), (2), (3), (4), (5), (6) 37.14/11.39 (2) -> (1), (2), (3), (6) 37.14/11.39 (3) -> (1), (2), (3), (4), (5), (6) 37.14/11.39 (4) -> (1), (3), (4), (5), (6) 37.14/11.39 (5) -> (1), (3), (4), (5), (6) 37.14/11.39 (6) -> (1), (2), (3), (4), (5), (6) 37.14/11.39 37.14/11.39 This digraph is fully evaluated! 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (54) 37.14/11.39 Obligation: 37.14/11.39 37.14/11.39 Termination digraph: 37.14/11.39 Nodes: 37.14/11.39 (1) f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17487sub1416812805:0))), o16460[LinkedList$Entry.next]o16458:0, o16462[LinkedList$Entry.next]o16460:0, o16460[LinkedList$Entry.next]o16462:0, o16462[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0, java.lang.Object(o16460sub-1463194339:0)))))))), java.lang.Object(o18362sub0:0), o16460[LinkedList$Entry.next]o16458:0, o17487[LinkedList$Entry.next]o16460:0, o18358[LinkedList$Entry.next]o18362:0, o17487[LinkedList$Entry.next]o16458:0, o16459-1463194339:0) :|: o16462[LinkedList$Entry.next]o16460:0 > 0 && o16460[LinkedList$Entry.next]o16462:0 > 0 && o18358[LinkedList$Entry.next]o18362:0 > o16460[LinkedList$Entry.next]o16462:0 && o16462[LinkedList$Entry.next]o16458:0 > -1 && o17487[LinkedList$Entry.next]o16458:0 < o16462[LinkedList$Entry.next]o16458:0 && o17487[LinkedList$Entry.next]o16460:0 < o16462[LinkedList$Entry.next]o16460:0 && i5207:0 > 1 && o17487[LinkedList$Entry.next]o16458:0 > 0 37.14/11.39 (2) f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x2))), x3, x4, x4, x3, x) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(x5), x6, x7, 1, x8, x) :|: x8 < x3 && x3 > -1 && x7 < x4 && x4 > -1 && x8 > 0 && x9 > 1 37.14/11.39 (3) f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x12))), x13, x14, x15, x16, x10) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(x17), x13, x18, x19, x20, x10) :|: x14 > 0 && x15 > 0 && x16 > -1 && x20 < x16 && x18 < x14 && x19 > x15 && x20 > 0 && x21 > 1 37.14/11.39 (4) f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x23), java.lang.Object(x24)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x25), java.lang.Object(x26))), x27, x28, x28, x27, x22) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x23), java.lang.Object(x24)))))))))), java.lang.Object(x29), x30, x31, 1, x32, x22) :|: x32 < x27 && x27 > -1 && x31 < x28 && x28 > -1 && x32 > 0 && x33 > 1 37.14/11.39 (5) f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x34, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x35)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x36))), x37, x38, x38, x37, x34) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x34, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x35)))))))))), java.lang.Object(x39), x40, x41, 1, x42, x34) :|: x42 < x37 && x37 > -1 && x41 < x38 && x38 > -1 && x42 > 0 && x43 > 1 37.14/11.39 (6) f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x46), java.lang.Object(x47))), x48, x49, x50, x51, x44) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(x52), x48, x53, x54, x55, x44) :|: x49 > 0 && x50 > 0 && x54 > x50 && x51 > -1 && x55 < x51 && x53 < x49 && x56 > 1 && x55 > 0 37.14/11.39 37.14/11.39 Arcs: 37.14/11.39 (1) -> (1), (2), (3), (4), (5), (6) 37.14/11.39 (2) -> (1), (2), (3), (6) 37.14/11.39 (3) -> (1), (2), (3), (4), (5), (6) 37.14/11.39 (4) -> (1), (3), (4), (5), (6) 37.14/11.39 (5) -> (1), (3), (4), (5), (6) 37.14/11.39 (6) -> (1), (2), (3), (4), (5), (6) 37.14/11.39 37.14/11.39 This digraph is fully evaluated! 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (55) IntTRSCompressionProof (EQUIVALENT) 37.14/11.39 Compressed rules. 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (56) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44:0, java.lang.Object(x45:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x46:0), java.lang.Object(x47:0))), x48:0, x49:0, x50:0, x51:0, x44:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44:0, java.lang.Object(x45:0)))))))), java.lang.Object(x52:0), x48:0, x53:0, x54:0, x55:0, x44:0) :|: x56:0 > 1 && x55:0 > 0 && x53:0 < x49:0 && x55:0 < x51:0 && x51:0 > -1 && x54:0 > x50:0 && x50:0 > 0 && x49:0 > 0 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0:0, java.lang.Object(o16460sub-1463194339:0:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17487sub1416812805:0:0))), o16460[LinkedList$Entry.next]o16458:0:0, o16462[LinkedList$Entry.next]o16460:0:0, o16460[LinkedList$Entry.next]o16462:0:0, o16462[LinkedList$Entry.next]o16458:0:0, o16459-1463194339:0:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16459-1463194339:0:0, java.lang.Object(o16460sub-1463194339:0:0)))))))), java.lang.Object(o18362sub0:0:0), o16460[LinkedList$Entry.next]o16458:0:0, o17487[LinkedList$Entry.next]o16460:0:0, o18358[LinkedList$Entry.next]o18362:0:0, o17487[LinkedList$Entry.next]o16458:0:0, o16459-1463194339:0:0) :|: i5207:0:0 > 1 && o17487[LinkedList$Entry.next]o16458:0:0 > 0 && o17487[LinkedList$Entry.next]o16460:0:0 < o16462[LinkedList$Entry.next]o16460:0:0 && o17487[LinkedList$Entry.next]o16458:0:0 < o16462[LinkedList$Entry.next]o16458:0:0 && o16462[LinkedList$Entry.next]o16458:0:0 > -1 && o18358[LinkedList$Entry.next]o18362:0:0 > o16460[LinkedList$Entry.next]o16462:0:0 && o16460[LinkedList$Entry.next]o16462:0:0 > 0 && o16462[LinkedList$Entry.next]o16460:0:0 > 0 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x23:0), java.lang.Object(x24:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x25:0), java.lang.Object(x26:0))), x27:0, x28:0, x28:0, x27:0, x22:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x23:0), java.lang.Object(x24:0)))))))))), java.lang.Object(x29:0), x30:0, x31:0, 1, x32:0, x22:0) :|: x32:0 > 0 && x33:0 > 1 && x28:0 > -1 && x31:0 < x28:0 && x27:0 > -1 && x32:0 < x27:0 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10:0, java.lang.Object(x11:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x12:0))), x13:0, x14:0, x15:0, x16:0, x10:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10:0, java.lang.Object(x11:0)))))))), java.lang.Object(x17:0), x13:0, x18:0, x19:0, x20:0, x10:0) :|: x20:0 > 0 && x21:0 > 1 && x19:0 > x15:0 && x18:0 < x14:0 && x20:0 < x16:0 && x16:0 > -1 && x15:0 > 0 && x14:0 > 0 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x34:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x35:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x36:0))), x37:0, x38:0, x38:0, x37:0, x34:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x34:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x35:0)))))))))), java.lang.Object(x39:0), x40:0, x41:0, 1, x42:0, x34:0) :|: x42:0 > 0 && x43:0 > 1 && x38:0 > -1 && x41:0 < x38:0 && x37:0 > -1 && x42:0 < x37:0 37.14/11.39 f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x2:0))), x3:0, x4:0, x4:0, x3:0, x:0) -> f8278_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1:0)))))))))), java.lang.Object(x5:0), x6:0, x7:0, 1, x8:0, x:0) :|: x8:0 > 0 && x9:0 > 1 && x4:0 > -1 && x7:0 < x4:0 && x3:0 > -1 && x8:0 < x3:0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (57) TempFilterProof (SOUND) 37.14/11.39 Used the following sort dictionary for filtering: 37.14/11.39 f8278_0_indexOf_EQ(VARIABLE, VARIABLE, VARIABLE, INTEGER, VARIABLE, INTEGER, VARIABLE) 37.14/11.39 java.lang.Object(VARIABLE) 37.14/11.39 javaUtilEx.AbstractCollection(VARIABLE) 37.14/11.39 javaUtilEx.AbstractList(VARIABLE) 37.14/11.39 javaUtilEx.AbstractSequentialList(VARIABLE) 37.14/11.39 javaUtilEx.LinkedList(VARIABLE) 37.14/11.39 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 37.14/11.39 NULL() 37.14/11.39 javaUtilEx.Content() 37.14/11.39 Replaced non-predefined constructor symbols by 0. 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (58) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8278_0_indexOf_EQ(c, c1, x48:0, x49:0, x50:0, x51:0, x44:0) -> f8278_0_indexOf_EQ(c2, c3, x48:0, x53:0, x54:0, x55:0, x44:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (x56:0 > 1 && x55:0 > 0 && x53:0 < x49:0 && x55:0 < x51:0 && x51:0 > -1 && x54:0 > x50:0 && x50:0 > 0 && x49:0 > 0) 37.14/11.39 f8278_0_indexOf_EQ(c8, c9, x27:0, x28:0, x28:0, x27:0, x22:0) -> f8278_0_indexOf_EQ(c10, c11, x30:0, x31:0, c12, x32:0, x22:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && c8 = 0))) && (x32:0 > 0 && x33:0 > 1 && x28:0 > -1 && x31:0 < x28:0 && x27:0 > -1 && x32:0 < x27:0) 37.14/11.39 f8278_0_indexOf_EQ(c13, c14, x13:0, x14:0, x15:0, x16:0, x10:0) -> f8278_0_indexOf_EQ(c15, c16, x13:0, x18:0, x19:0, x20:0, x10:0) :|: c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)) && (x20:0 > 0 && x21:0 > 1 && x19:0 > x15:0 && x18:0 < x14:0 && x20:0 < x16:0 && x16:0 > -1 && x15:0 > 0 && x14:0 > 0) 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (59) RankingReductionPairProof (EQUIVALENT) 37.14/11.39 Interpretation: 37.14/11.39 [ f8278_0_indexOf_EQ ] = f8278_0_indexOf_EQ_6 37.14/11.39 37.14/11.39 The following rules are decreasing: 37.14/11.39 f8278_0_indexOf_EQ(c, c1, x48:0, x49:0, x50:0, x51:0, x44:0) -> f8278_0_indexOf_EQ(c2, c3, x48:0, x53:0, x54:0, x55:0, x44:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (x56:0 > 1 && x55:0 > 0 && x53:0 < x49:0 && x55:0 < x51:0 && x51:0 > -1 && x54:0 > x50:0 && x50:0 > 0 && x49:0 > 0) 37.14/11.39 f8278_0_indexOf_EQ(c8, c9, x27:0, x28:0, x28:0, x27:0, x22:0) -> f8278_0_indexOf_EQ(c10, c11, x30:0, x31:0, c12, x32:0, x22:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && c8 = 0))) && (x32:0 > 0 && x33:0 > 1 && x28:0 > -1 && x31:0 < x28:0 && x27:0 > -1 && x32:0 < x27:0) 37.14/11.39 f8278_0_indexOf_EQ(c13, c14, x13:0, x14:0, x15:0, x16:0, x10:0) -> f8278_0_indexOf_EQ(c15, c16, x13:0, x18:0, x19:0, x20:0, x10:0) :|: c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)) && (x20:0 > 0 && x21:0 > 1 && x19:0 > x15:0 && x18:0 < x14:0 && x20:0 < x16:0 && x16:0 > -1 && x15:0 > 0 && x14:0 > 0) 37.14/11.39 37.14/11.39 The following rules are bounded: 37.14/11.39 f8278_0_indexOf_EQ(c, c1, x48:0, x49:0, x50:0, x51:0, x44:0) -> f8278_0_indexOf_EQ(c2, c3, x48:0, x53:0, x54:0, x55:0, x44:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (x56:0 > 1 && x55:0 > 0 && x53:0 < x49:0 && x55:0 < x51:0 && x51:0 > -1 && x54:0 > x50:0 && x50:0 > 0 && x49:0 > 0) 37.14/11.39 f8278_0_indexOf_EQ(c8, c9, x27:0, x28:0, x28:0, x27:0, x22:0) -> f8278_0_indexOf_EQ(c10, c11, x30:0, x31:0, c12, x32:0, x22:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && c8 = 0))) && (x32:0 > 0 && x33:0 > 1 && x28:0 > -1 && x31:0 < x28:0 && x27:0 > -1 && x32:0 < x27:0) 37.14/11.39 f8278_0_indexOf_EQ(c13, c14, x13:0, x14:0, x15:0, x16:0, x10:0) -> f8278_0_indexOf_EQ(c15, c16, x13:0, x18:0, x19:0, x20:0, x10:0) :|: c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)) && (x20:0 > 0 && x21:0 > 1 && x19:0 > x15:0 && x18:0 < x14:0 && x20:0 < x16:0 && x16:0 > -1 && x15:0 > 0 && x14:0 > 0) 37.14/11.39 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (60) 37.14/11.39 YES 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (61) 37.14/11.39 Obligation: 37.14/11.39 SCC of termination graph based on JBC Program. 37.14/11.39 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateContains.main([Ljava/lang/String;)V 37.14/11.39 SCC calls the following helper methods: javaUtilEx.Content.equals(Ljava/lang/Object;)Z 37.14/11.39 Performed SCC analyses: 37.14/11.39 *Used field analysis yielded the following read fields: 37.14/11.39 *javaUtilEx.LinkedList$Entry: [element, next] 37.14/11.39 *javaUtilEx.LinkedList: [header] 37.14/11.39 *Marker field analysis yielded the following relations that could be markers: 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (62) SCCToIRSProof (SOUND) 37.14/11.39 Transformed FIGraph SCCs to intTRSs. Log: 37.14/11.39 Generated rules. Obtained 65 IRulesP rules: 37.14/11.39 f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), java.lang.Object(o16379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501, java.lang.Object(o16376sub1415858501))), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379, o16379[LinkedList$Entry.next]o16374) -> f8286_0_indexOf_Load(EOS(STATIC_8286), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379, o16379[LinkedList$Entry.next]o16374) :|: TRUE 37.14/11.39 f8286_0_indexOf_Load(EOS(STATIC_8286), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379, o16379[LinkedList$Entry.next]o16374) -> f8297_0_indexOf_Load(EOS(STATIC_8297), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), java.lang.Object(javaUtilEx.Content(EOC)), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379, o16379[LinkedList$Entry.next]o16374) :|: TRUE 37.14/11.39 f8297_0_indexOf_Load(EOS(STATIC_8297), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), java.lang.Object(javaUtilEx.Content(EOC)), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379, o16379[LinkedList$Entry.next]o16374) -> f8308_0_indexOf_FieldAccess(EOS(STATIC_8308), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379, o16379[LinkedList$Entry.next]o16374) :|: TRUE 37.14/11.39 f8308_0_indexOf_FieldAccess(EOS(STATIC_8308), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379, o16379[LinkedList$Entry.next]o16374) -> f8319_0_indexOf_FieldAccess(EOS(STATIC_8319), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o16379, o16379[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376) :|: o16379[LinkedList$Entry.next]o16376 > 0 && o16376[LinkedList$Entry.next]o16379 > 0 37.14/11.39 f8308_0_indexOf_FieldAccess(EOS(STATIC_8308), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o17449sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17449sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17449sub0), o16377[LinkedList$Entry.previous]o16374, o17449[LinkedList$Entry.next]o16374, o17449[LinkedList$Entry.next]o17449, o17449[LinkedList$Entry.next]o17449, o17449[LinkedList$Entry.next]o16374) -> f8320_0_indexOf_FieldAccess(EOS(STATIC_8320), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o17449sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17449sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17449sub0), o16377[LinkedList$Entry.previous]o16374, o17449[LinkedList$Entry.next]o16374, o17449[LinkedList$Entry.next]o17449) :|: TRUE 37.14/11.39 f8319_0_indexOf_FieldAccess(EOS(STATIC_8319), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906, java.lang.Object(o17479sub1416811906))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906, java.lang.Object(o17479sub1416811906))), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17477[LinkedList$Entry.next]o16374, o17477[LinkedList$Entry.next]o16376) -> f8330_0_indexOf_FieldAccess(EOS(STATIC_8330), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906, java.lang.Object(o17479sub1416811906))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906, java.lang.Object(o17479sub1416811906))), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) :|: o17479[LinkedList$Entry.next]o16374 < o17477[LinkedList$Entry.next]o16374 && o17477[LinkedList$Entry.next]o16374 >= 0 && o17479[LinkedList$Entry.next]o16376 < o17477[LinkedList$Entry.next]o16376 && o17477[LinkedList$Entry.next]o16376 >= 0 37.14/11.39 f8330_0_indexOf_FieldAccess(EOS(STATIC_8330), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906, java.lang.Object(o17479sub1416811906))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906, java.lang.Object(o17479sub1416811906))), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) -> f8342_0_indexOf_InvokeMethod(EOS(STATIC_8342), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906, java.lang.Object(o17479sub1416811906))), java.lang.Object(javaUtilEx.Content(EOC)), o174780, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) :|: TRUE 37.14/11.39 f8342_0_indexOf_InvokeMethod(EOS(STATIC_8342), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906, java.lang.Object(o17479sub1416811906))), java.lang.Object(javaUtilEx.Content(EOC)), o174780, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) -> f8355_0_equals_Load(EOS(STATIC_8355), java.lang.Object(javaUtilEx.Content(EOC)), o174780, java.lang.Object(o16376sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501, java.lang.Object(o16376sub1415858501))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906, java.lang.Object(o17479sub1416811906))), java.lang.Object(o17479sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174780, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) :|: i5183 > 1 37.14/11.39 f8342_0_indexOf_InvokeMethod(EOS(STATIC_8342), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906, java.lang.Object(o17479sub1416811906))), java.lang.Object(javaUtilEx.Content(EOC)), o174780, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) -> f8355_1_equals_Load(EOS(STATIC_8355), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906, java.lang.Object(o17479sub1416811906))), java.lang.Object(javaUtilEx.Content(EOC)), o174780, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) :|: i5183 > 1 37.14/11.39 f8355_0_equals_Load(EOS(STATIC_8355), java.lang.Object(javaUtilEx.Content(EOC)), o174780, java.lang.Object(o16376sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501, java.lang.Object(o16376sub1415858501))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906, java.lang.Object(o17479sub1416811906))), java.lang.Object(o17479sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174780, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) -> f10324_0_equals_Load(EOS(STATIC_10324), java.lang.Object(javaUtilEx.Content(EOC)), o174780, java.lang.Object(o16376sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501, java.lang.Object(o16376sub1415858501))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906, java.lang.Object(o17479sub1416811906))), java.lang.Object(o17479sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174780, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) :|: TRUE 37.14/11.39 f8747_0_equals_Return(EOS(STATIC_8747), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17479sub1416811906))), matching1, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) -> f8432_0_equals_Return(EOS(STATIC_8432), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17479sub1416811906))), 0, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) :|: TRUE && matching1 = 0 37.14/11.39 f8432_0_equals_Return(EOS(STATIC_8432), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o182891417676837, java.lang.Object(o18290sub1417676837))), matching1, o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18285[LinkedList$Entry.next]o18288, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285) -> f8456_0_indexOf_EQ(EOS(STATIC_8456), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o182891417676837, java.lang.Object(o18290sub1417676837))), 0, o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18285[LinkedList$Entry.next]o18288, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285) :|: TRUE && matching1 = 0 37.14/11.39 f8456_0_indexOf_EQ(EOS(STATIC_8456), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o182891417676837, java.lang.Object(o18290sub1417676837))), matching1, o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18285[LinkedList$Entry.next]o18288, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285) -> f8471_0_indexOf_Inc(EOS(STATIC_8471), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o182891417676837, java.lang.Object(o18290sub1417676837))), o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18285[LinkedList$Entry.next]o18288, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285) :|: TRUE && matching1 = 0 37.14/11.39 f8471_0_indexOf_Inc(EOS(STATIC_8471), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o182891417676837, java.lang.Object(o18290sub1417676837))), o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18285[LinkedList$Entry.next]o18288, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285) -> f8488_0_indexOf_Load(EOS(STATIC_8488), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o182891417676837, java.lang.Object(o18290sub1417676837))), o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18285[LinkedList$Entry.next]o18288, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285) :|: TRUE 37.14/11.39 f8488_0_indexOf_Load(EOS(STATIC_8488), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o182891417676837, java.lang.Object(o18290sub1417676837))), o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18285[LinkedList$Entry.next]o18288, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285) -> f8499_0_indexOf_FieldAccess(EOS(STATIC_8499), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o182891417676837, java.lang.Object(o18290sub1417676837))), o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18285[LinkedList$Entry.next]o18288, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285) :|: TRUE 37.14/11.39 f8499_0_indexOf_FieldAccess(EOS(STATIC_8499), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o182891417676837, java.lang.Object(o18290sub1417676837))), o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18285[LinkedList$Entry.next]o18288, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285) -> f8513_0_indexOf_Store(EOS(STATIC_8513), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18290sub0), o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285, o18285[LinkedList$Entry.next]o18290) :|: o18285[LinkedList$Entry.next]o18290 > o18285[LinkedList$Entry.next]o18288 && o18285[LinkedList$Entry.next]o18288 >= 0 37.14/11.39 f8513_0_indexOf_Store(EOS(STATIC_8513), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18290sub0), o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285, o18285[LinkedList$Entry.next]o18290) -> f8535_0_indexOf_JMP(EOS(STATIC_8535), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18290sub0), o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285, o18285[LinkedList$Entry.next]o18290) :|: TRUE 37.14/11.39 f8535_0_indexOf_JMP(EOS(STATIC_8535), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18290sub0), o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285, o18285[LinkedList$Entry.next]o18290) -> f8553_0_indexOf_Load(EOS(STATIC_8553), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18290sub0), o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285, o18285[LinkedList$Entry.next]o18290) :|: TRUE 37.14/11.39 f8553_0_indexOf_Load(EOS(STATIC_8553), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18290sub0), o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285, o18285[LinkedList$Entry.next]o18290) -> f8219_0_indexOf_Load(EOS(STATIC_8219), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18284-1459613963, java.lang.Object(o18285sub-1459613963)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18290sub0), o18286[LinkedList$Entry.previous]o18283, o18285[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18283, o18290[LinkedList$Entry.next]o18285, o18285[LinkedList$Entry.next]o18290) :|: TRUE 37.14/11.39 f8219_0_indexOf_Load(EOS(STATIC_8219), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379) -> f8238_0_indexOf_Load(EOS(STATIC_8238), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), java.lang.Object(o16379sub0), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379) :|: TRUE 37.14/11.39 f8238_0_indexOf_Load(EOS(STATIC_8238), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), java.lang.Object(o16379sub0), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379) -> f8255_0_indexOf_FieldAccess(EOS(STATIC_8255), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), java.lang.Object(o16379sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379) :|: TRUE 37.14/11.39 f8255_0_indexOf_FieldAccess(EOS(STATIC_8255), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), java.lang.Object(o16379sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379) -> f8265_0_indexOf_EQ(EOS(STATIC_8265), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), java.lang.Object(o16379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501, java.lang.Object(o16376sub1415858501))), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379) :|: TRUE 37.14/11.39 f8265_0_indexOf_EQ(EOS(STATIC_8265), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), java.lang.Object(o16379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501, java.lang.Object(o16376sub1415858501))), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379) -> f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16379sub0), java.lang.Object(o16379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501, java.lang.Object(o16376sub1415858501))), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16379[LinkedList$Entry.next]o16376, o16376[LinkedList$Entry.next]o16379, o16379[LinkedList$Entry.next]o16374) :|: o16379[LinkedList$Entry.next]o16374 > 0 37.14/11.39 f8760_0_equals_Return(EOS(STATIC_8760), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22109sub1416811906), java.lang.Object(o17479sub1416811906))), matching1, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) -> f8432_0_equals_Return(EOS(STATIC_8432), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22109sub1416811906), java.lang.Object(o17479sub1416811906))), 0, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) :|: TRUE && matching1 = 0 37.14/11.39 f8863_0_equals_Return(EOS(STATIC_8863), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17479sub1416811906))), matching1, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) -> f8524_0_equals_Return(EOS(STATIC_8524), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17479sub1416811906))), 0, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) :|: TRUE && matching1 = 0 37.14/11.39 f8524_0_equals_Return(EOS(STATIC_8524), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19612-1457542171, java.lang.Object(o19613sub-1457542171)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub1418712733))), i5892, o19614[LinkedList$Entry.previous]o19611, o19613[LinkedList$Entry.next]o19611, o19613[LinkedList$Entry.next]o19616, o19618[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19613) -> f8541_0_indexOf_EQ(EOS(STATIC_8541), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19612-1457542171, java.lang.Object(o19613sub-1457542171)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub1418712733))), i5892, o19614[LinkedList$Entry.previous]o19611, o19613[LinkedList$Entry.next]o19611, o19613[LinkedList$Entry.next]o19616, o19618[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19613) :|: TRUE 37.14/11.39 f8541_0_indexOf_EQ(EOS(STATIC_8541), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19612-1457542171, java.lang.Object(o19613sub-1457542171)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub1418712733))), matching1, o19614[LinkedList$Entry.previous]o19611, o19613[LinkedList$Entry.next]o19611, o19613[LinkedList$Entry.next]o19616, o19618[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19613) -> f8560_0_indexOf_EQ(EOS(STATIC_8560), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19612-1457542171, java.lang.Object(o19613sub-1457542171)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub1418712733))), 0, o19614[LinkedList$Entry.previous]o19611, o19613[LinkedList$Entry.next]o19611, o19613[LinkedList$Entry.next]o19616, o19618[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19613) :|: TRUE && matching1 = 0 37.14/11.39 f8560_0_indexOf_EQ(EOS(STATIC_8560), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19612-1457542171, java.lang.Object(o19613sub-1457542171)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub1418712733))), matching1, o19614[LinkedList$Entry.previous]o19611, o19613[LinkedList$Entry.next]o19611, o19613[LinkedList$Entry.next]o19616, o19618[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19613) -> f8578_0_indexOf_Inc(EOS(STATIC_8578), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19612-1457542171, java.lang.Object(o19613sub-1457542171)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub1418712733))), o19614[LinkedList$Entry.previous]o19611, o19613[LinkedList$Entry.next]o19611, o19613[LinkedList$Entry.next]o19616, o19618[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19613) :|: TRUE && matching1 = 0 37.14/11.39 f8578_0_indexOf_Inc(EOS(STATIC_8578), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19612-1457542171, java.lang.Object(o19613sub-1457542171)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub1418712733))), o19614[LinkedList$Entry.previous]o19611, o19613[LinkedList$Entry.next]o19611, o19613[LinkedList$Entry.next]o19616, o19618[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19613) -> f8593_0_indexOf_Load(EOS(STATIC_8593), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19612-1457542171, java.lang.Object(o19613sub-1457542171)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub1418712733))), o19614[LinkedList$Entry.previous]o19611, o19613[LinkedList$Entry.next]o19611, o19613[LinkedList$Entry.next]o19616, o19618[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19613) :|: TRUE 37.14/11.39 f8593_0_indexOf_Load(EOS(STATIC_8593), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19612-1457542171, java.lang.Object(o19613sub-1457542171)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub1418712733))), o19614[LinkedList$Entry.previous]o19611, o19613[LinkedList$Entry.next]o19611, o19613[LinkedList$Entry.next]o19616, o19618[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19613) -> f8607_0_indexOf_FieldAccess(EOS(STATIC_8607), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19612-1457542171, java.lang.Object(o19613sub-1457542171)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub1418712733))), o19614[LinkedList$Entry.previous]o19611, o19613[LinkedList$Entry.next]o19611, o19613[LinkedList$Entry.next]o19616, o19618[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19613) :|: TRUE 37.14/11.39 f8607_0_indexOf_FieldAccess(EOS(STATIC_8607), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19612-1457542171, java.lang.Object(o19613sub-1457542171)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub1418712733))), o19614[LinkedList$Entry.previous]o19611, o19613[LinkedList$Entry.next]o19611, o19613[LinkedList$Entry.next]o19616, o19618[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19613) -> f8621_0_indexOf_Store(EOS(STATIC_8621), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19612-1457542171, java.lang.Object(o19613sub-1457542171)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub0), o19614[LinkedList$Entry.previous]o19611, o19613[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19613, o19613[LinkedList$Entry.next]o19618) :|: o19613[LinkedList$Entry.next]o19618 > o19613[LinkedList$Entry.next]o19616 && o19613[LinkedList$Entry.next]o19616 >= 0 37.14/11.39 f8621_0_indexOf_Store(EOS(STATIC_8621), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19612-1457542171, java.lang.Object(o19613sub-1457542171)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub0), o19614[LinkedList$Entry.previous]o19611, o19613[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19613, o19613[LinkedList$Entry.next]o19618) -> f8513_0_indexOf_Store(EOS(STATIC_8513), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19612-1457542171, java.lang.Object(o19613sub-1457542171)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub0), o19614[LinkedList$Entry.previous]o19611, o19613[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19611, o19618[LinkedList$Entry.next]o19613, o19613[LinkedList$Entry.next]o19618) :|: TRUE 37.14/11.39 f8871_0_equals_Return(EOS(STATIC_8871), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17479sub1416811906))), matching1, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) -> f8524_0_equals_Return(EOS(STATIC_8524), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17479sub1416811906))), 1, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) :|: TRUE && matching1 = 1 37.14/11.39 f8320_0_indexOf_FieldAccess(EOS(STATIC_8320), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-46437644, java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681, java.lang.Object(o17483sub1416812681))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681, java.lang.Object(o17483sub1416812681))), o16377[LinkedList$Entry.previous]o16374, o17481[LinkedList$Entry.next]o16374, o17481[LinkedList$Entry.next]o17481) -> f8331_0_indexOf_FieldAccess(EOS(STATIC_8331), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-46437644, java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681, java.lang.Object(o17483sub1416812681))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681, java.lang.Object(o17483sub1416812681))), o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) :|: o17483[LinkedList$Entry.next]o16374 < o17481[LinkedList$Entry.next]o16374 && o17481[LinkedList$Entry.next]o16374 >= 0 && o17483[LinkedList$Entry.next]o17481 < o17481[LinkedList$Entry.next]o17481 && o17481[LinkedList$Entry.next]o17481 >= 0 37.14/11.39 f8331_0_indexOf_FieldAccess(EOS(STATIC_8331), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-46437644, java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681, java.lang.Object(o17483sub1416812681))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681, java.lang.Object(o17483sub1416812681))), o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) -> f8343_0_indexOf_InvokeMethod(EOS(STATIC_8343), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-46437644, java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681, java.lang.Object(o17483sub1416812681))), java.lang.Object(javaUtilEx.Content(EOC)), o174820, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) :|: TRUE 37.14/11.39 f8343_0_indexOf_InvokeMethod(EOS(STATIC_8343), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-46437644, java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681, java.lang.Object(o17483sub1416812681))), java.lang.Object(javaUtilEx.Content(EOC)), o174820, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) -> f8356_0_equals_Load(EOS(STATIC_8356), java.lang.Object(javaUtilEx.Content(EOC)), o174820, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-1462296114, java.lang.Object(o17483sub-1462296114))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681, java.lang.Object(o17483sub1416812681))), java.lang.Object(o17483sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-46437644, java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174820, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) :|: i5183 > 1 37.14/11.39 f8343_0_indexOf_InvokeMethod(EOS(STATIC_8343), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-46437644, java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681, java.lang.Object(o17483sub1416812681))), java.lang.Object(javaUtilEx.Content(EOC)), o174820, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) -> f8356_1_equals_Load(EOS(STATIC_8356), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-46437644, java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681, java.lang.Object(o17483sub1416812681))), java.lang.Object(javaUtilEx.Content(EOC)), o174820, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) :|: i5183 > 1 37.14/11.39 f8356_0_equals_Load(EOS(STATIC_8356), java.lang.Object(javaUtilEx.Content(EOC)), o174820, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-1462296114, java.lang.Object(o17483sub-1462296114))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681, java.lang.Object(o17483sub1416812681))), java.lang.Object(o17483sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-46437644, java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174820, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) -> f10404_0_equals_Load(EOS(STATIC_10404), java.lang.Object(javaUtilEx.Content(EOC)), o174820, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-1462296114, java.lang.Object(o17483sub-1462296114))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681, java.lang.Object(o17483sub1416812681))), java.lang.Object(o17483sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-46437644, java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174820, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) :|: TRUE 37.14/11.39 f8748_0_equals_Return(EOS(STATIC_8748), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17483sub1416812681))), matching1, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) -> f8436_0_equals_Return(EOS(STATIC_8436), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17483sub1416812681))), 0, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) :|: TRUE && matching1 = 0 37.14/11.39 f8436_0_equals_Return(EOS(STATIC_8436), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18317-1459567649, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18319-41867748, java.lang.Object(o18320sub-41867748)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183191417699901, java.lang.Object(o18320sub1417699901))), matching1, o18322[LinkedList$Entry.previous]o18316, o18320[LinkedList$Entry.next]o18316, o18320[LinkedList$Entry.next]o18318) -> f8457_0_indexOf_EQ(EOS(STATIC_8457), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18317-1459567649, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18319-41867748, java.lang.Object(o18320sub-41867748)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183191417699901, java.lang.Object(o18320sub1417699901))), 0, o18322[LinkedList$Entry.previous]o18316, o18320[LinkedList$Entry.next]o18316, o18320[LinkedList$Entry.next]o18318) :|: TRUE && matching1 = 0 37.14/11.39 f8457_0_indexOf_EQ(EOS(STATIC_8457), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18317-1459567649, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18319-41867748, java.lang.Object(o18320sub-41867748)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183191417699901, java.lang.Object(o18320sub1417699901))), matching1, o18322[LinkedList$Entry.previous]o18316, o18320[LinkedList$Entry.next]o18316, o18320[LinkedList$Entry.next]o18318) -> f8472_0_indexOf_Inc(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18317-1459567649, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18319-41867748, java.lang.Object(o18320sub-41867748)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183191417699901, java.lang.Object(o18320sub1417699901))), o18322[LinkedList$Entry.previous]o18316, o18320[LinkedList$Entry.next]o18316, o18320[LinkedList$Entry.next]o18318) :|: TRUE && matching1 = 0 37.14/11.39 f8472_0_indexOf_Inc(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18317-1459567649, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18319-41867748, java.lang.Object(o18320sub-41867748)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183191417699901, java.lang.Object(o18320sub1417699901))), o18322[LinkedList$Entry.previous]o18316, o18320[LinkedList$Entry.next]o18316, o18320[LinkedList$Entry.next]o18318) -> f8489_0_indexOf_Load(EOS(STATIC_8489), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18317-1459567649, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18319-41867748, java.lang.Object(o18320sub-41867748)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183191417699901, java.lang.Object(o18320sub1417699901))), o18322[LinkedList$Entry.previous]o18316, o18320[LinkedList$Entry.next]o18316, o18320[LinkedList$Entry.next]o18318) :|: TRUE 37.14/11.39 f8489_0_indexOf_Load(EOS(STATIC_8489), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18317-1459567649, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18319-41867748, java.lang.Object(o18320sub-41867748)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183191417699901, java.lang.Object(o18320sub1417699901))), o18322[LinkedList$Entry.previous]o18316, o18320[LinkedList$Entry.next]o18316, o18320[LinkedList$Entry.next]o18318) -> f8500_0_indexOf_FieldAccess(EOS(STATIC_8500), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18317-1459567649, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18319-41867748, java.lang.Object(o18320sub-41867748)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183191417699901, java.lang.Object(o18320sub1417699901))), o18322[LinkedList$Entry.previous]o18316, o18320[LinkedList$Entry.next]o18316, o18320[LinkedList$Entry.next]o18318) :|: TRUE 37.14/11.39 f8500_0_indexOf_FieldAccess(EOS(STATIC_8500), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18317-1459567649, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18319-41867748, java.lang.Object(o18320sub-41867748)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o183191417699901, java.lang.Object(o18320sub1417699901))), o18322[LinkedList$Entry.previous]o18316, o18320[LinkedList$Entry.next]o18316, o18320[LinkedList$Entry.next]o18318) -> f8514_0_indexOf_Store(EOS(STATIC_8514), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18317-1459567649, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18319-41867748, java.lang.Object(o18320sub-41867748)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18320sub0), o18322[LinkedList$Entry.previous]o18316, o18320[LinkedList$Entry.next]o18316, o18320[LinkedList$Entry.next]o18318) :|: TRUE 37.14/11.39 f8514_0_indexOf_Store(EOS(STATIC_8514), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18317-1459567649, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18319-41867748, java.lang.Object(o18320sub-41867748)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18320sub0), o18322[LinkedList$Entry.previous]o18316, o18320[LinkedList$Entry.next]o18316, o18320[LinkedList$Entry.next]o18318) -> f8621_0_indexOf_Store(EOS(STATIC_8621), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18317-1459567649, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18319-41867748, java.lang.Object(o18320sub-41867748)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18320sub0), o18322[LinkedList$Entry.previous]o18316, o18318[LinkedList$Entry.next]o18316, o18320[LinkedList$Entry.next]o18316, o18320[LinkedList$Entry.next]o18318, o18318[LinkedList$Entry.next]o18320) :|: o18318[LinkedList$Entry.next]o18320 = 1 37.14/11.39 f8761_0_equals_Return(EOS(STATIC_8761), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22124sub-46437644), java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22124sub1416812681), java.lang.Object(o17483sub1416812681))), matching1, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) -> f8436_0_equals_Return(EOS(STATIC_8436), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22124sub-46437644), java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22124sub1416812681), java.lang.Object(o17483sub1416812681))), 0, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) :|: TRUE && matching1 = 0 37.14/11.39 f8864_0_equals_Return(EOS(STATIC_8864), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub1416812681))), matching1, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) -> f8526_0_equals_Return(EOS(STATIC_8526), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub1416812681))), 0, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) :|: TRUE && matching1 = 0 37.14/11.39 f8526_0_equals_Return(EOS(STATIC_8526), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub1418713601))), i5898, o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) -> f8542_0_indexOf_EQ(EOS(STATIC_8542), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub1418713601))), i5898, o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) :|: TRUE 37.14/11.39 f8542_0_indexOf_EQ(EOS(STATIC_8542), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub1418713601))), matching1, o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) -> f8562_0_indexOf_EQ(EOS(STATIC_8562), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub1418713601))), 0, o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) :|: TRUE && matching1 = 0 37.14/11.39 f8562_0_indexOf_EQ(EOS(STATIC_8562), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub1418713601))), matching1, o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) -> f8580_0_indexOf_Inc(EOS(STATIC_8580), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub1418713601))), o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) :|: TRUE && matching1 = 0 37.14/11.39 f8580_0_indexOf_Inc(EOS(STATIC_8580), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub1418713601))), o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) -> f8594_0_indexOf_Load(EOS(STATIC_8594), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub1418713601))), o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) :|: TRUE 37.14/11.39 f8594_0_indexOf_Load(EOS(STATIC_8594), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub1418713601))), o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) -> f8608_0_indexOf_FieldAccess(EOS(STATIC_8608), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub1418713601))), o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) :|: TRUE 37.14/11.39 f8608_0_indexOf_FieldAccess(EOS(STATIC_8608), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub1418713601))), o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) -> f8622_0_indexOf_Store(EOS(STATIC_8622), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub0), o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) :|: TRUE 37.14/11.39 f8622_0_indexOf_Store(EOS(STATIC_8622), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub0), o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) -> f8635_0_indexOf_JMP(EOS(STATIC_8635), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub0), o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) :|: TRUE 37.14/11.39 f8635_0_indexOf_JMP(EOS(STATIC_8635), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub0), o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) -> f8651_0_indexOf_Load(EOS(STATIC_8651), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub0), o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) :|: TRUE 37.14/11.39 f8651_0_indexOf_Load(EOS(STATIC_8651), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub0), o19627[LinkedList$Entry.previous]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623) -> f8219_0_indexOf_Load(EOS(STATIC_8219), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19622-1457540249, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub-38826648)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub0), o19627[LinkedList$Entry.previous]o19621, o19623[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19621, o19625[LinkedList$Entry.next]o19623, o19623[LinkedList$Entry.next]o19625) :|: o19623[LinkedList$Entry.next]o19625 = 1 37.14/11.39 f8872_0_equals_Return(EOS(STATIC_8872), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub1416812681))), matching1, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) -> f8526_0_equals_Return(EOS(STATIC_8526), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub1416812681))), 1, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) :|: TRUE && matching1 = 1 37.14/11.39 f8355_1_equals_Load(EOS(STATIC_8355), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17479sub1416811906))), java.lang.Object(javaUtilEx.Content(EOC)), NULL, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) -> f8747_0_equals_Return(EOS(STATIC_8747), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17479sub1416811906))), 0, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) :|: TRUE 37.14/11.39 f8355_1_equals_Load(EOS(STATIC_8355), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22109sub1416811906), java.lang.Object(o17479sub1416811906))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o22109sub0), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) -> f8760_0_equals_Return(EOS(STATIC_8760), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22109sub1416811906), java.lang.Object(o17479sub1416811906))), 0, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) :|: TRUE 37.14/11.39 f8355_1_equals_Load(EOS(STATIC_8355), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17479sub1416811906))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) -> f8863_0_equals_Return(EOS(STATIC_8863), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17479sub1416811906))), 0, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) :|: TRUE 37.14/11.39 f8355_1_equals_Load(EOS(STATIC_8355), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17479sub1416811906))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) -> f8871_0_equals_Return(EOS(STATIC_8871), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(o16376sub-1463250325)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17479sub1416811906))), 1, o16377[LinkedList$Entry.previous]o16374, o16376[LinkedList$Entry.next]o16374, o16376[LinkedList$Entry.next]o17477, o17479[LinkedList$Entry.next]o16374, o17479[LinkedList$Entry.next]o16376) :|: TRUE 37.14/11.39 f8356_1_equals_Load(EOS(STATIC_8356), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17483sub1416812681))), java.lang.Object(javaUtilEx.Content(EOC)), NULL, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) -> f8748_0_equals_Return(EOS(STATIC_8748), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17483sub1416812681))), 0, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) :|: TRUE 37.14/11.39 f8356_1_equals_Load(EOS(STATIC_8356), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22124sub-46437644), java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22124sub1416812681), java.lang.Object(o17483sub1416812681))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o22124sub0), o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) -> f8761_0_equals_Return(EOS(STATIC_8761), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22124sub-46437644), java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22124sub1416812681), java.lang.Object(o17483sub1416812681))), 0, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) :|: TRUE 37.14/11.39 f8356_1_equals_Load(EOS(STATIC_8356), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub1416812681))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) -> f8864_0_equals_Return(EOS(STATIC_8864), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub1416812681))), 0, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) :|: TRUE 37.14/11.39 f8356_1_equals_Load(EOS(STATIC_8356), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub1416812681))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) -> f8872_0_equals_Return(EOS(STATIC_8872), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub-46437644)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub1416812681))), 1, o16377[LinkedList$Entry.previous]o16374, o17483[LinkedList$Entry.next]o16374, o17483[LinkedList$Entry.next]o17481) :|: TRUE 37.14/11.39 Combined rules. Obtained 8 IRulesP rules: 37.14/11.39 f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17483sub1416812681:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17483sub1416812681:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:0, java.lang.Object(o16376sub1415858501:0))), o16377[LinkedList$Entry.previous]o16374:0, o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16374:0) -> f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18320sub0:0), java.lang.Object(o18320sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:1, java.lang.Object(o16376sub1415858501:1))), o16377[LinkedList$Entry.previous]o16374:0, o18318[LinkedList$Entry.next]o18316:0, o17483[LinkedList$Entry.next]o17481:0, 1, o17483[LinkedList$Entry.next]o16374:0) :|: o16376[LinkedList$Entry.next]o16374:0 > -1 && o17483[LinkedList$Entry.next]o16374:0 < o16376[LinkedList$Entry.next]o16374:0 && o17483[LinkedList$Entry.next]o17481:0 < o16379[LinkedList$Entry.next]o16376:0 && o16379[LinkedList$Entry.next]o16376:0 > -1 && i5183:0 > 1 && o17483[LinkedList$Entry.next]o16374:0 > 0 37.14/11.39 f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub1416812681:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub1416812681:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:0, java.lang.Object(o16376sub1415858501:0))), o16377[LinkedList$Entry.previous]o16374:0, o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16374:0) -> f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19625sub0:0), java.lang.Object(o19625sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:1, java.lang.Object(o16376sub1415858501:1))), o16377[LinkedList$Entry.previous]o16374:0, o19623[LinkedList$Entry.next]o19621:0, o17483[LinkedList$Entry.next]o17481:0, 1, o17483[LinkedList$Entry.next]o16374:0) :|: o16376[LinkedList$Entry.next]o16374:0 > -1 && o17483[LinkedList$Entry.next]o16374:0 < o16376[LinkedList$Entry.next]o16374:0 && o17483[LinkedList$Entry.next]o17481:0 < o16379[LinkedList$Entry.next]o16376:0 && o16379[LinkedList$Entry.next]o16376:0 > -1 && i5183:0 > 1 && o17483[LinkedList$Entry.next]o16374:0 > 0 37.14/11.39 f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(o16376sub-1463250325:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17479sub1416811906:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o17479sub1416811906:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:0, java.lang.Object(o16376sub1415858501:0))), o16377[LinkedList$Entry.previous]o16374:0, o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16379:0, o16379[LinkedList$Entry.next]o16374:0) -> f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(o16376sub-1463250325:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18290sub0:0), java.lang.Object(o18290sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:1, java.lang.Object(o16376sub1415858501:1))), o16377[LinkedList$Entry.previous]o16374:0, o16376[LinkedList$Entry.next]o16374:0, o17479[LinkedList$Entry.next]o16376:0, o18285[LinkedList$Entry.next]o18290:0, o17479[LinkedList$Entry.next]o16374:0) :|: o16376[LinkedList$Entry.next]o16379:0 > 0 && o16379[LinkedList$Entry.next]o16376:0 > 0 && o18285[LinkedList$Entry.next]o18290:0 > o16376[LinkedList$Entry.next]o16379:0 && o16379[LinkedList$Entry.next]o16374:0 > -1 && o17479[LinkedList$Entry.next]o16374:0 < o16379[LinkedList$Entry.next]o16374:0 && o17479[LinkedList$Entry.next]o16376:0 < o16379[LinkedList$Entry.next]o16376:0 && o17479[LinkedList$Entry.next]o16374:0 > 0 && i5183:0 > 1 37.14/11.39 f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(o16376sub-1463250325:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22109sub1416811906:0), java.lang.Object(o17479sub1416811906:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22109sub1416811906:0), java.lang.Object(o17479sub1416811906:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:0, java.lang.Object(o16376sub1415858501:0))), o16377[LinkedList$Entry.previous]o16374:0, o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16379:0, o16379[LinkedList$Entry.next]o16374:0) -> f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(o16376sub-1463250325:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18290sub0:0), java.lang.Object(o18290sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:1, java.lang.Object(o16376sub1415858501:1))), o16377[LinkedList$Entry.previous]o16374:0, o16376[LinkedList$Entry.next]o16374:0, o17479[LinkedList$Entry.next]o16376:0, o18285[LinkedList$Entry.next]o18290:0, o17479[LinkedList$Entry.next]o16374:0) :|: o16376[LinkedList$Entry.next]o16379:0 > 0 && o16379[LinkedList$Entry.next]o16376:0 > 0 && o18285[LinkedList$Entry.next]o18290:0 > o16376[LinkedList$Entry.next]o16379:0 && o16379[LinkedList$Entry.next]o16374:0 > -1 && o17479[LinkedList$Entry.next]o16374:0 < o16379[LinkedList$Entry.next]o16374:0 && o17479[LinkedList$Entry.next]o16376:0 < o16379[LinkedList$Entry.next]o16376:0 && o17479[LinkedList$Entry.next]o16374:0 > 0 && i5183:0 > 1 37.14/11.39 f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22124sub-46437644:0), java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22124sub1416812681:0), java.lang.Object(o17483sub1416812681:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22124sub1416812681:0), java.lang.Object(o17483sub1416812681:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:0, java.lang.Object(o16376sub1415858501:0))), o16377[LinkedList$Entry.previous]o16374:0, o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16374:0) -> f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o22124sub-46437644:0), java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18320sub0:0), java.lang.Object(o18320sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:1, java.lang.Object(o16376sub1415858501:1))), o16377[LinkedList$Entry.previous]o16374:0, o18318[LinkedList$Entry.next]o18316:0, o17483[LinkedList$Entry.next]o17481:0, 1, o17483[LinkedList$Entry.next]o16374:0) :|: o16376[LinkedList$Entry.next]o16374:0 > -1 && o17483[LinkedList$Entry.next]o16374:0 < o16376[LinkedList$Entry.next]o16374:0 && o17483[LinkedList$Entry.next]o17481:0 < o16379[LinkedList$Entry.next]o16376:0 && o16379[LinkedList$Entry.next]o16376:0 > -1 && i5183:0 > 1 && o17483[LinkedList$Entry.next]o16374:0 > 0 37.14/11.39 f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(o16376sub-1463250325:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17479sub1416811906:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o17479sub1416811906:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:0, java.lang.Object(o16376sub1415858501:0))), o16377[LinkedList$Entry.previous]o16374:0, o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16379:0, o16379[LinkedList$Entry.next]o16374:0) -> f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(o16376sub-1463250325:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o19618sub0:0), java.lang.Object(o19618sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:1, java.lang.Object(o16376sub1415858501:1))), o16377[LinkedList$Entry.previous]o16374:0, o16376[LinkedList$Entry.next]o16374:0, o17479[LinkedList$Entry.next]o16376:0, o19613[LinkedList$Entry.next]o19618:0, o17479[LinkedList$Entry.next]o16374:0) :|: o16376[LinkedList$Entry.next]o16379:0 > 0 && o16379[LinkedList$Entry.next]o16376:0 > 0 && o16379[LinkedList$Entry.next]o16374:0 > -1 && o17479[LinkedList$Entry.next]o16374:0 < o16379[LinkedList$Entry.next]o16374:0 && o17479[LinkedList$Entry.next]o16376:0 < o16379[LinkedList$Entry.next]o16376:0 && o19613[LinkedList$Entry.next]o19618:0 > o16376[LinkedList$Entry.next]o16379:0 && i5183:0 > 1 && o17479[LinkedList$Entry.next]o16374:0 > 0 37.14/11.39 Removed following non-SCC rules: 37.14/11.39 f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(o16376sub-1463250325:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906:0, java.lang.Object(o17479sub1416811906:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906:0, java.lang.Object(o17479sub1416811906:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:0, java.lang.Object(o16376sub1415858501:0))), o16377[LinkedList$Entry.previous]o16374:0, o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16379:0, o16379[LinkedList$Entry.next]o16374:0) -> f10324_0_equals_Load(EOS(STATIC_10324), java.lang.Object(javaUtilEx.Content(EOC)), o174780:0, java.lang.Object(o16376sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:1, java.lang.Object(o16376sub1415858501:1))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174781416811906:0, java.lang.Object(o17479sub1416811906:0))), java.lang.Object(o17479sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(o16376sub-1463250325:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174780:0, o16377[LinkedList$Entry.previous]o16374:0, o16376[LinkedList$Entry.next]o16374:0, o16376[LinkedList$Entry.next]o16379:0, o17479[LinkedList$Entry.next]o16374:0, o17479[LinkedList$Entry.next]o16376:0) :|: o16379[LinkedList$Entry.next]o16376:0 > 0 && o16379[LinkedList$Entry.next]o16374:0 > -1 && o17479[LinkedList$Entry.next]o16374:0 < o16379[LinkedList$Entry.next]o16374:0 && o17479[LinkedList$Entry.next]o16376:0 < o16379[LinkedList$Entry.next]o16376:0 && i5183:0 > 1 && o16376[LinkedList$Entry.next]o16379:0 > 0 37.14/11.39 f8276_0_indexOf_EQ(EOS(STATIC_8276), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-46437644:0, java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681:0, java.lang.Object(o17483sub1416812681:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681:0, java.lang.Object(o17483sub1416812681:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:0, java.lang.Object(o16376sub1415858501:0))), o16377[LinkedList$Entry.previous]o16374:0, o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16374:0) -> f10404_0_equals_Load(EOS(STATIC_10404), java.lang.Object(javaUtilEx.Content(EOC)), o174820:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o163751415858501:1, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-1462296114:0, java.lang.Object(o17483sub-1462296114:0))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o174821416812681:0, java.lang.Object(o17483sub1416812681:0))), java.lang.Object(o17483sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17482-46437644:0, java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o174820:0, o16377[LinkedList$Entry.previous]o16374:0, o17483[LinkedList$Entry.next]o16374:0, o17483[LinkedList$Entry.next]o17481:0) :|: o16376[LinkedList$Entry.next]o16374:0 > -1 && o17483[LinkedList$Entry.next]o16374:0 < o16376[LinkedList$Entry.next]o16374:0 && o17483[LinkedList$Entry.next]o17481:0 < o16379[LinkedList$Entry.next]o16376:0 && i5183:0 > 1 && o16379[LinkedList$Entry.next]o16376:0 > -1 37.14/11.39 Filtered constant ground arguments: 37.14/11.39 f8276_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) -> f8276_0_indexOf_EQ(x2, x4, x5, x6, x7, x8, x9, x10, x11) 37.14/11.39 EOS(x1) -> EOS 37.14/11.39 javaUtilEx.Content(x1) -> javaUtilEx.Content 37.14/11.39 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 37.14/11.39 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 37.14/11.39 Filtered duplicate arguments: 37.14/11.39 f8276_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f8276_0_indexOf_EQ(x1, x3, x4, x5, x6, x7, x8, x9) 37.14/11.39 Filtered unneeded arguments: 37.14/11.39 f8276_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8) -> f8276_0_indexOf_EQ(x1, x2, x5, x6, x7, x8) 37.14/11.39 Finished conversion. Obtained 6 rules.P rules: 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub1416812681:0))), o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(o18320sub0:0), o18318[LinkedList$Entry.next]o18316:0, o17483[LinkedList$Entry.next]o17481:0, 1, o17483[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) :|: o17483[LinkedList$Entry.next]o16374:0 < o16376[LinkedList$Entry.next]o16374:0 && o16376[LinkedList$Entry.next]o16374:0 > -1 && o17483[LinkedList$Entry.next]o17481:0 < o16379[LinkedList$Entry.next]o16376:0 && o16379[LinkedList$Entry.next]o16376:0 > -1 && o17483[LinkedList$Entry.next]o16374:0 > 0 && i5183:0 > 1 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o17483sub1416812681:0))), o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(o19625sub0:0), o19623[LinkedList$Entry.next]o19621:0, o17483[LinkedList$Entry.next]o17481:0, 1, o17483[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) :|: o17483[LinkedList$Entry.next]o16374:0 < o16376[LinkedList$Entry.next]o16374:0 && o16376[LinkedList$Entry.next]o16374:0 > -1 && o17483[LinkedList$Entry.next]o17481:0 < o16379[LinkedList$Entry.next]o16376:0 && o16379[LinkedList$Entry.next]o16376:0 > -1 && o17483[LinkedList$Entry.next]o16374:0 > 0 && i5183:0 > 1 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(o16376sub-1463250325:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17479sub1416811906:0))), o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16379:0, o16379[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(o16376sub-1463250325:0)))))))), java.lang.Object(o18290sub0:0), o16376[LinkedList$Entry.next]o16374:0, o17479[LinkedList$Entry.next]o16376:0, o18285[LinkedList$Entry.next]o18290:0, o17479[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) :|: o16379[LinkedList$Entry.next]o16376:0 > 0 && o16376[LinkedList$Entry.next]o16379:0 > 0 && o18285[LinkedList$Entry.next]o18290:0 > o16376[LinkedList$Entry.next]o16379:0 && o16379[LinkedList$Entry.next]o16374:0 > -1 && o17479[LinkedList$Entry.next]o16374:0 < o16379[LinkedList$Entry.next]o16374:0 && o17479[LinkedList$Entry.next]o16376:0 < o16379[LinkedList$Entry.next]o16376:0 && i5183:0 > 1 && o17479[LinkedList$Entry.next]o16374:0 > 0 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(o16376sub-1463250325:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o22109sub1416811906:0), java.lang.Object(o17479sub1416811906:0))), o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16379:0, o16379[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(o16376sub-1463250325:0)))))))), java.lang.Object(o18290sub0:0), o16376[LinkedList$Entry.next]o16374:0, o17479[LinkedList$Entry.next]o16376:0, o18285[LinkedList$Entry.next]o18290:0, o17479[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) :|: o16379[LinkedList$Entry.next]o16376:0 > 0 && o16376[LinkedList$Entry.next]o16379:0 > 0 && o18285[LinkedList$Entry.next]o18290:0 > o16376[LinkedList$Entry.next]o16379:0 && o16379[LinkedList$Entry.next]o16374:0 > -1 && o17479[LinkedList$Entry.next]o16374:0 < o16379[LinkedList$Entry.next]o16374:0 && o17479[LinkedList$Entry.next]o16376:0 < o16379[LinkedList$Entry.next]o16376:0 && i5183:0 > 1 && o17479[LinkedList$Entry.next]o16374:0 > 0 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o22124sub-46437644:0), java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o22124sub1416812681:0), java.lang.Object(o17483sub1416812681:0))), o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o22124sub-46437644:0), java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(o18320sub0:0), o18318[LinkedList$Entry.next]o18316:0, o17483[LinkedList$Entry.next]o17481:0, 1, o17483[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) :|: o17483[LinkedList$Entry.next]o16374:0 < o16376[LinkedList$Entry.next]o16374:0 && o16376[LinkedList$Entry.next]o16374:0 > -1 && o17483[LinkedList$Entry.next]o17481:0 < o16379[LinkedList$Entry.next]o16376:0 && o16379[LinkedList$Entry.next]o16376:0 > -1 && o17483[LinkedList$Entry.next]o16374:0 > 0 && i5183:0 > 1 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(o16376sub-1463250325:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o17479sub1416811906:0))), o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16379:0, o16379[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(o16376sub-1463250325:0)))))))), java.lang.Object(o19618sub0:0), o16376[LinkedList$Entry.next]o16374:0, o17479[LinkedList$Entry.next]o16376:0, o19613[LinkedList$Entry.next]o19618:0, o17479[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) :|: o16379[LinkedList$Entry.next]o16376:0 > 0 && o16376[LinkedList$Entry.next]o16379:0 > 0 && o16379[LinkedList$Entry.next]o16374:0 > -1 && o17479[LinkedList$Entry.next]o16374:0 < o16379[LinkedList$Entry.next]o16374:0 && o17479[LinkedList$Entry.next]o16376:0 < o16379[LinkedList$Entry.next]o16376:0 && o19613[LinkedList$Entry.next]o19618:0 > o16376[LinkedList$Entry.next]o16379:0 && o17479[LinkedList$Entry.next]o16374:0 > 0 && i5183:0 > 1 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (63) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub1416812681:0))), o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(o18320sub0:0), o18318[LinkedList$Entry.next]o18316:0, o17483[LinkedList$Entry.next]o17481:0, 1, o17483[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) :|: o17483[LinkedList$Entry.next]o16374:0 < o16376[LinkedList$Entry.next]o16374:0 && o16376[LinkedList$Entry.next]o16374:0 > -1 && o17483[LinkedList$Entry.next]o17481:0 < o16379[LinkedList$Entry.next]o16376:0 && o16379[LinkedList$Entry.next]o16376:0 > -1 && o17483[LinkedList$Entry.next]o16374:0 > 0 && i5183:0 > 1 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x4, x3, x) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(x5), x6, x7, 1, x8, x) :|: x8 < x3 && x3 > -1 && x7 < x4 && x4 > -1 && x8 > 0 && x9 > 1 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12))), x13, x14, x15, x16, x10) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(x17), x13, x18, x19, x20, x10) :|: x14 > 0 && x15 > 0 && x19 > x15 && x16 > -1 && x20 < x16 && x18 < x14 && x21 > 1 && x20 > 0 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x24), java.lang.Object(x25))), x26, x27, x28, x29, x22) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(x30), x26, x31, x32, x33, x22) :|: x27 > 0 && x28 > 0 && x32 > x28 && x29 > -1 && x33 < x29 && x31 < x27 && x34 > 1 && x33 > 0 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x38), java.lang.Object(x39))), x40, x41, x41, x40, x35) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(x42), x43, x44, 1, x45, x35) :|: x45 < x40 && x40 > -1 && x44 < x41 && x41 > -1 && x45 > 0 && x46 > 1 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(x48)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x49))), x50, x51, x52, x53, x47) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(x48)))))))), java.lang.Object(x54), x50, x55, x56, x57, x47) :|: x51 > 0 && x52 > 0 && x53 > -1 && x57 < x53 && x55 < x51 && x56 > x52 && x57 > 0 && x58 > 1 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (64) IRSFormatTransformerProof (EQUIVALENT) 37.14/11.39 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (65) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub1416812681:0))), o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(o18320sub0:0), o18318[LinkedList$Entry.next]o18316:0, o17483[LinkedList$Entry.next]o17481:0, 1, o17483[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) :|: o17483[LinkedList$Entry.next]o16374:0 < o16376[LinkedList$Entry.next]o16374:0 && o16376[LinkedList$Entry.next]o16374:0 > -1 && o17483[LinkedList$Entry.next]o17481:0 < o16379[LinkedList$Entry.next]o16376:0 && o16379[LinkedList$Entry.next]o16376:0 > -1 && o17483[LinkedList$Entry.next]o16374:0 > 0 && i5183:0 > 1 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x4, x3, x) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(x5), x6, x7, 1, x8, x) :|: x8 < x3 && x3 > -1 && x7 < x4 && x4 > -1 && x8 > 0 && x9 > 1 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12))), x13, x14, x15, x16, x10) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(x17), x13, x18, x19, x20, x10) :|: x14 > 0 && x15 > 0 && x19 > x15 && x16 > -1 && x20 < x16 && x18 < x14 && x21 > 1 && x20 > 0 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x24), java.lang.Object(x25))), x26, x27, x28, x29, x22) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(x30), x26, x31, x32, x33, x22) :|: x27 > 0 && x28 > 0 && x32 > x28 && x29 > -1 && x33 < x29 && x31 < x27 && x34 > 1 && x33 > 0 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x38), java.lang.Object(x39))), x40, x41, x41, x40, x35) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(x42), x43, x44, 1, x45, x35) :|: x45 < x40 && x40 > -1 && x44 < x41 && x41 > -1 && x45 > 0 && x46 > 1 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(x48)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x49))), x50, x51, x52, x53, x47) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(x48)))))))), java.lang.Object(x54), x50, x55, x56, x57, x47) :|: x51 > 0 && x52 > 0 && x53 > -1 && x57 < x53 && x55 < x51 && x56 > x52 && x57 > 0 && x58 > 1 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (66) IRSwTTerminationDigraphProof (EQUIVALENT) 37.14/11.39 Constructed termination digraph! 37.14/11.39 Nodes: 37.14/11.39 (1) f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub1416812681:0))), o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(o18320sub0:0), o18318[LinkedList$Entry.next]o18316:0, o17483[LinkedList$Entry.next]o17481:0, 1, o17483[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) :|: o17483[LinkedList$Entry.next]o16374:0 < o16376[LinkedList$Entry.next]o16374:0 && o16376[LinkedList$Entry.next]o16374:0 > -1 && o17483[LinkedList$Entry.next]o17481:0 < o16379[LinkedList$Entry.next]o16376:0 && o16379[LinkedList$Entry.next]o16376:0 > -1 && o17483[LinkedList$Entry.next]o16374:0 > 0 && i5183:0 > 1 37.14/11.39 (2) f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x4, x3, x) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(x5), x6, x7, 1, x8, x) :|: x8 < x3 && x3 > -1 && x7 < x4 && x4 > -1 && x8 > 0 && x9 > 1 37.14/11.39 (3) f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12))), x13, x14, x15, x16, x10) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(x17), x13, x18, x19, x20, x10) :|: x14 > 0 && x15 > 0 && x19 > x15 && x16 > -1 && x20 < x16 && x18 < x14 && x21 > 1 && x20 > 0 37.14/11.39 (4) f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x24), java.lang.Object(x25))), x26, x27, x28, x29, x22) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(x30), x26, x31, x32, x33, x22) :|: x27 > 0 && x28 > 0 && x32 > x28 && x29 > -1 && x33 < x29 && x31 < x27 && x34 > 1 && x33 > 0 37.14/11.39 (5) f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x38), java.lang.Object(x39))), x40, x41, x41, x40, x35) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(x42), x43, x44, 1, x45, x35) :|: x45 < x40 && x40 > -1 && x44 < x41 && x41 > -1 && x45 > 0 && x46 > 1 37.14/11.39 (6) f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(x48)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x49))), x50, x51, x52, x53, x47) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(x48)))))))), java.lang.Object(x54), x50, x55, x56, x57, x47) :|: x51 > 0 && x52 > 0 && x53 > -1 && x57 < x53 && x55 < x51 && x56 > x52 && x57 > 0 && x58 > 1 37.14/11.39 37.14/11.39 Arcs: 37.14/11.39 (1) -> (1), (3), (4), (6) 37.14/11.39 (2) -> (2), (3), (4), (5), (6) 37.14/11.39 (3) -> (1), (2), (3), (4), (5), (6) 37.14/11.39 (4) -> (1), (2), (3), (4), (5), (6) 37.14/11.39 (5) -> (2), (3), (4), (5), (6) 37.14/11.39 (6) -> (1), (2), (3), (4), (5), (6) 37.14/11.39 37.14/11.39 This digraph is fully evaluated! 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (67) 37.14/11.39 Obligation: 37.14/11.39 37.14/11.39 Termination digraph: 37.14/11.39 Nodes: 37.14/11.39 (1) f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub1416812681:0))), o16376[LinkedList$Entry.next]o16374:0, o16379[LinkedList$Entry.next]o16376:0, o16379[LinkedList$Entry.next]o16376:0, o16376[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub-46437644:0)))))))))), java.lang.Object(o18320sub0:0), o18318[LinkedList$Entry.next]o18316:0, o17483[LinkedList$Entry.next]o17481:0, 1, o17483[LinkedList$Entry.next]o16374:0, o16375-1463250325:0) :|: o17483[LinkedList$Entry.next]o16374:0 < o16376[LinkedList$Entry.next]o16374:0 && o16376[LinkedList$Entry.next]o16374:0 > -1 && o17483[LinkedList$Entry.next]o17481:0 < o16379[LinkedList$Entry.next]o16376:0 && o16379[LinkedList$Entry.next]o16376:0 > -1 && o17483[LinkedList$Entry.next]o16374:0 > 0 && i5183:0 > 1 37.14/11.39 (2) f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12))), x13, x14, x15, x16, x10) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10, java.lang.Object(x11)))))))), java.lang.Object(x17), x13, x18, x19, x20, x10) :|: x14 > 0 && x15 > 0 && x19 > x15 && x16 > -1 && x20 < x16 && x18 < x14 && x21 > 1 && x20 > 0 37.14/11.39 (3) f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x4, x3, x) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(x5), x6, x7, 1, x8, x) :|: x8 < x3 && x3 > -1 && x7 < x4 && x4 > -1 && x8 > 0 && x9 > 1 37.14/11.39 (4) f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x24), java.lang.Object(x25))), x26, x27, x28, x29, x22) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(x30), x26, x31, x32, x33, x22) :|: x27 > 0 && x28 > 0 && x32 > x28 && x29 > -1 && x33 < x29 && x31 < x27 && x34 > 1 && x33 > 0 37.14/11.39 (5) f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x38), java.lang.Object(x39))), x40, x41, x41, x40, x35) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(x42), x43, x44, 1, x45, x35) :|: x45 < x40 && x40 > -1 && x44 < x41 && x41 > -1 && x45 > 0 && x46 > 1 37.14/11.39 (6) f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(x48)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x49))), x50, x51, x52, x53, x47) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(x48)))))))), java.lang.Object(x54), x50, x55, x56, x57, x47) :|: x51 > 0 && x52 > 0 && x53 > -1 && x57 < x53 && x55 < x51 && x56 > x52 && x57 > 0 && x58 > 1 37.14/11.39 37.14/11.39 Arcs: 37.14/11.39 (1) -> (1), (2), (4), (6) 37.14/11.39 (2) -> (1), (2), (3), (4), (5), (6) 37.14/11.39 (3) -> (2), (3), (4), (5), (6) 37.14/11.39 (4) -> (1), (2), (3), (4), (5), (6) 37.14/11.39 (5) -> (2), (3), (4), (5), (6) 37.14/11.39 (6) -> (1), (2), (3), (4), (5), (6) 37.14/11.39 37.14/11.39 This digraph is fully evaluated! 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (68) IntTRSCompressionProof (EQUIVALENT) 37.14/11.39 Compressed rules. 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (69) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10:0, java.lang.Object(x11:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12:0))), x13:0, x14:0, x15:0, x16:0, x10:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x10:0, java.lang.Object(x11:0)))))))), java.lang.Object(x17:0), x13:0, x18:0, x19:0, x20:0, x10:0) :|: x21:0 > 1 && x20:0 > 0 && x18:0 < x14:0 && x20:0 < x16:0 && x16:0 > -1 && x19:0 > x15:0 && x15:0 > 0 && x14:0 > 0 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2:0))), x3:0, x4:0, x4:0, x3:0, x:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1:0)))))))))), java.lang.Object(x5:0), x6:0, x7:0, 1, x8:0, x:0) :|: x8:0 > 0 && x9:0 > 1 && x4:0 > -1 && x7:0 < x4:0 && x3:0 > -1 && x8:0 < x3:0 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36:0), java.lang.Object(x37:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x38:0), java.lang.Object(x39:0))), x40:0, x41:0, x41:0, x40:0, x35:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36:0), java.lang.Object(x37:0)))))))))), java.lang.Object(x42:0), x43:0, x44:0, 1, x45:0, x35:0) :|: x45:0 > 0 && x46:0 > 1 && x41:0 > -1 && x44:0 < x41:0 && x40:0 > -1 && x45:0 < x40:0 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47:0, java.lang.Object(x48:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x49:0))), x50:0, x51:0, x52:0, x53:0, x47:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47:0, java.lang.Object(x48:0)))))))), java.lang.Object(x54:0), x50:0, x55:0, x56:0, x57:0, x47:0) :|: x57:0 > 0 && x58:0 > 1 && x56:0 > x52:0 && x55:0 < x51:0 && x57:0 < x53:0 && x53:0 > -1 && x52:0 > 0 && x51:0 > 0 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22:0, java.lang.Object(x23:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x24:0), java.lang.Object(x25:0))), x26:0, x27:0, x28:0, x29:0, x22:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22:0, java.lang.Object(x23:0)))))))), java.lang.Object(x30:0), x26:0, x31:0, x32:0, x33:0, x22:0) :|: x34:0 > 1 && x33:0 > 0 && x31:0 < x27:0 && x33:0 < x29:0 && x29:0 > -1 && x32:0 > x28:0 && x28:0 > 0 && x27:0 > 0 37.14/11.39 f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub-46437644:0:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub1416812681:0:0))), o16376[LinkedList$Entry.next]o16374:0:0, o16379[LinkedList$Entry.next]o16376:0:0, o16379[LinkedList$Entry.next]o16376:0:0, o16376[LinkedList$Entry.next]o16374:0:0, o16375-1463250325:0:0) -> f8276_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16375-1463250325:0:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o17483sub-46437644:0:0)))))))))), java.lang.Object(o18320sub0:0:0), o18318[LinkedList$Entry.next]o18316:0:0, o17483[LinkedList$Entry.next]o17481:0:0, 1, o17483[LinkedList$Entry.next]o16374:0:0, o16375-1463250325:0:0) :|: o17483[LinkedList$Entry.next]o16374:0:0 > 0 && i5183:0:0 > 1 && o16379[LinkedList$Entry.next]o16376:0:0 > -1 && o17483[LinkedList$Entry.next]o17481:0:0 < o16379[LinkedList$Entry.next]o16376:0:0 && o16376[LinkedList$Entry.next]o16374:0:0 > -1 && o17483[LinkedList$Entry.next]o16374:0:0 < o16376[LinkedList$Entry.next]o16374:0:0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (70) TempFilterProof (SOUND) 37.14/11.39 Used the following sort dictionary for filtering: 37.14/11.39 f8276_0_indexOf_EQ(VARIABLE, VARIABLE, VARIABLE, INTEGER, VARIABLE, INTEGER, VARIABLE) 37.14/11.39 java.lang.Object(VARIABLE) 37.14/11.39 javaUtilEx.AbstractCollection(VARIABLE) 37.14/11.39 javaUtilEx.AbstractList(VARIABLE) 37.14/11.39 javaUtilEx.AbstractSequentialList(VARIABLE) 37.14/11.39 javaUtilEx.LinkedList(VARIABLE) 37.14/11.39 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 37.14/11.39 NULL() 37.14/11.39 javaUtilEx.Content() 37.14/11.39 Replaced non-predefined constructor symbols by 0. 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (71) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8276_0_indexOf_EQ(c, c1, x13:0, x14:0, x15:0, x16:0, x10:0) -> f8276_0_indexOf_EQ(c2, c3, x13:0, x18:0, x19:0, x20:0, x10:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (x21:0 > 1 && x20:0 > 0 && x18:0 < x14:0 && x20:0 < x16:0 && x16:0 > -1 && x19:0 > x15:0 && x15:0 > 0 && x14:0 > 0) 37.14/11.39 f8276_0_indexOf_EQ(c4, c5, x3:0, x4:0, x4:0, x3:0, x:0) -> f8276_0_indexOf_EQ(c6, c7, x6:0, x7:0, c8, x8:0, x:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x8:0 > 0 && x9:0 > 1 && x4:0 > -1 && x7:0 < x4:0 && x3:0 > -1 && x8:0 < x3:0) 37.14/11.39 f8276_0_indexOf_EQ(c14, c15, x50:0, x51:0, x52:0, x53:0, x47:0) -> f8276_0_indexOf_EQ(c16, c17, x50:0, x55:0, x56:0, x57:0, x47:0) :|: c17 = 0 && (c16 = 0 && (c15 = 0 && c14 = 0)) && (x57:0 > 0 && x58:0 > 1 && x56:0 > x52:0 && x55:0 < x51:0 && x57:0 < x53:0 && x53:0 > -1 && x52:0 > 0 && x51:0 > 0) 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (72) RankingReductionPairProof (EQUIVALENT) 37.14/11.39 Interpretation: 37.14/11.39 [ f8276_0_indexOf_EQ ] = f8276_0_indexOf_EQ_6 37.14/11.39 37.14/11.39 The following rules are decreasing: 37.14/11.39 f8276_0_indexOf_EQ(c, c1, x13:0, x14:0, x15:0, x16:0, x10:0) -> f8276_0_indexOf_EQ(c2, c3, x13:0, x18:0, x19:0, x20:0, x10:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (x21:0 > 1 && x20:0 > 0 && x18:0 < x14:0 && x20:0 < x16:0 && x16:0 > -1 && x19:0 > x15:0 && x15:0 > 0 && x14:0 > 0) 37.14/11.39 f8276_0_indexOf_EQ(c4, c5, x3:0, x4:0, x4:0, x3:0, x:0) -> f8276_0_indexOf_EQ(c6, c7, x6:0, x7:0, c8, x8:0, x:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x8:0 > 0 && x9:0 > 1 && x4:0 > -1 && x7:0 < x4:0 && x3:0 > -1 && x8:0 < x3:0) 37.14/11.39 f8276_0_indexOf_EQ(c14, c15, x50:0, x51:0, x52:0, x53:0, x47:0) -> f8276_0_indexOf_EQ(c16, c17, x50:0, x55:0, x56:0, x57:0, x47:0) :|: c17 = 0 && (c16 = 0 && (c15 = 0 && c14 = 0)) && (x57:0 > 0 && x58:0 > 1 && x56:0 > x52:0 && x55:0 < x51:0 && x57:0 < x53:0 && x53:0 > -1 && x52:0 > 0 && x51:0 > 0) 37.14/11.39 37.14/11.39 The following rules are bounded: 37.14/11.39 f8276_0_indexOf_EQ(c, c1, x13:0, x14:0, x15:0, x16:0, x10:0) -> f8276_0_indexOf_EQ(c2, c3, x13:0, x18:0, x19:0, x20:0, x10:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (x21:0 > 1 && x20:0 > 0 && x18:0 < x14:0 && x20:0 < x16:0 && x16:0 > -1 && x19:0 > x15:0 && x15:0 > 0 && x14:0 > 0) 37.14/11.39 f8276_0_indexOf_EQ(c4, c5, x3:0, x4:0, x4:0, x3:0, x:0) -> f8276_0_indexOf_EQ(c6, c7, x6:0, x7:0, c8, x8:0, x:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x8:0 > 0 && x9:0 > 1 && x4:0 > -1 && x7:0 < x4:0 && x3:0 > -1 && x8:0 < x3:0) 37.14/11.39 f8276_0_indexOf_EQ(c14, c15, x50:0, x51:0, x52:0, x53:0, x47:0) -> f8276_0_indexOf_EQ(c16, c17, x50:0, x55:0, x56:0, x57:0, x47:0) :|: c17 = 0 && (c16 = 0 && (c15 = 0 && c14 = 0)) && (x57:0 > 0 && x58:0 > 1 && x56:0 > x52:0 && x55:0 < x51:0 && x57:0 < x53:0 && x53:0 > -1 && x52:0 > 0 && x51:0 > 0) 37.14/11.39 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (73) 37.14/11.39 YES 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (74) 37.14/11.39 Obligation: 37.14/11.39 SCC of termination graph based on JBC Program. 37.14/11.39 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateContains.main([Ljava/lang/String;)V 37.14/11.39 SCC calls the following helper methods: 37.14/11.39 Performed SCC analyses: 37.14/11.39 *Used field analysis yielded the following read fields: 37.14/11.39 *javaUtilEx.LinkedList$Entry: [element, next] 37.14/11.39 *javaUtilEx.LinkedList: [header] 37.14/11.39 *Marker field analysis yielded the following relations that could be markers: 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (75) SCCToIRSProof (SOUND) 37.14/11.39 Transformed FIGraph SCCs to intTRSs. Log: 37.14/11.39 Generated rules. Obtained 28 IRulesP rules: 37.14/11.39 f8891_0_indexOf_EQ(EOS(STATIC_8891), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o23400sub0), java.lang.Object(o23400sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233981441719104, java.lang.Object(o23399sub1441719104))), o23399[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o23400, o23400[LinkedList$Entry.next]o23397) -> f8898_0_indexOf_Load(EOS(STATIC_8898), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o23400sub0), o23399[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o23400, o23400[LinkedList$Entry.next]o23397) :|: TRUE 37.14/11.39 f8898_0_indexOf_Load(EOS(STATIC_8898), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o23400sub0), o23399[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o23400, o23400[LinkedList$Entry.next]o23397) -> f8904_0_indexOf_FieldAccess(EOS(STATIC_8904), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o23400sub0), java.lang.Object(o23400sub0), o23399[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o23400, o23400[LinkedList$Entry.next]o23397) :|: TRUE 37.14/11.39 f8904_0_indexOf_FieldAccess(EOS(STATIC_8904), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o23400sub0), java.lang.Object(o23400sub0), o23399[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o23400, o23400[LinkedList$Entry.next]o23397) -> f8912_0_indexOf_FieldAccess(EOS(STATIC_8912), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o23400sub0), java.lang.Object(o23400sub0), o23399[LinkedList$Entry.next]o23397, o23399[LinkedList$Entry.next]o23400, o23400[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23399) :|: o23400[LinkedList$Entry.next]o23399 > 0 && o23399[LinkedList$Entry.next]o23400 > 0 37.14/11.39 f8904_0_indexOf_FieldAccess(EOS(STATIC_8904), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o24052sub-1411529119)))))))), java.lang.Object(o24052sub0), java.lang.Object(o24052sub0), o24052[LinkedList$Entry.next]o23397, o24052[LinkedList$Entry.next]o24052, o24052[LinkedList$Entry.next]o24052, o24052[LinkedList$Entry.next]o23397) -> f8913_0_indexOf_FieldAccess(EOS(STATIC_8913), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o24052sub-1411529119)))))))), java.lang.Object(o24052sub0), java.lang.Object(o24052sub0), o24052[LinkedList$Entry.next]o23397, o24052[LinkedList$Entry.next]o24052) :|: TRUE 37.14/11.39 f8912_0_indexOf_FieldAccess(EOS(STATIC_8912), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240781442551330, java.lang.Object(o24079sub1442551330))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240781442551330, java.lang.Object(o24079sub1442551330))), o23399[LinkedList$Entry.next]o23397, o23399[LinkedList$Entry.next]o24077, o24077[LinkedList$Entry.next]o23397, o24077[LinkedList$Entry.next]o23399) -> f8921_0_indexOf_FieldAccess(EOS(STATIC_8921), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240781442551330, java.lang.Object(o24079sub1442551330))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240781442551330, java.lang.Object(o24079sub1442551330))), o23399[LinkedList$Entry.next]o23397, o23399[LinkedList$Entry.next]o24077, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399) :|: o24079[LinkedList$Entry.next]o23397 < o24077[LinkedList$Entry.next]o23397 && o24077[LinkedList$Entry.next]o23397 >= 0 && o24079[LinkedList$Entry.next]o23399 < o24077[LinkedList$Entry.next]o23399 && o24077[LinkedList$Entry.next]o23399 >= 0 37.14/11.39 f8921_0_indexOf_FieldAccess(EOS(STATIC_8921), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240781442551330, java.lang.Object(o24079sub1442551330))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240781442551330, java.lang.Object(o24079sub1442551330))), o23399[LinkedList$Entry.next]o23397, o23399[LinkedList$Entry.next]o24077, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399) -> f8930_0_indexOf_NONNULL(EOS(STATIC_8930), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240781442551330, java.lang.Object(o24079sub1442551330))), o240780, o23399[LinkedList$Entry.next]o23397, o23399[LinkedList$Entry.next]o24077, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399) :|: TRUE 37.14/11.39 f8930_0_indexOf_NONNULL(EOS(STATIC_8930), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24261sub1442551330), java.lang.Object(o24079sub1442551330))), java.lang.Object(o24261sub0), o23399[LinkedList$Entry.next]o23397, o23399[LinkedList$Entry.next]o24077, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399) -> f8941_0_indexOf_NONNULL(EOS(STATIC_8941), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24261sub1442551330), java.lang.Object(o24079sub1442551330))), java.lang.Object(o24261sub0), o23399[LinkedList$Entry.next]o23397, o23399[LinkedList$Entry.next]o24077, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399) :|: TRUE 37.14/11.39 f8941_0_indexOf_NONNULL(EOS(STATIC_8941), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24261sub1442551330), java.lang.Object(o24079sub1442551330))), java.lang.Object(o24261sub0), o23399[LinkedList$Entry.next]o23397, o23399[LinkedList$Entry.next]o24077, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399) -> f8954_0_indexOf_Inc(EOS(STATIC_8954), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24261sub1442551330), java.lang.Object(o24079sub1442551330))), o23399[LinkedList$Entry.next]o23397, o23399[LinkedList$Entry.next]o24077, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399) :|: TRUE 37.14/11.39 f8954_0_indexOf_Inc(EOS(STATIC_8954), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24261sub1442551330), java.lang.Object(o24079sub1442551330))), o23399[LinkedList$Entry.next]o23397, o23399[LinkedList$Entry.next]o24077, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399) -> f8966_0_indexOf_Load(EOS(STATIC_8966), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24261sub1442551330), java.lang.Object(o24079sub1442551330))), o23399[LinkedList$Entry.next]o23397, o23399[LinkedList$Entry.next]o24077, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399) :|: TRUE 37.14/11.39 f8966_0_indexOf_Load(EOS(STATIC_8966), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24261sub1442551330), java.lang.Object(o24079sub1442551330))), o23399[LinkedList$Entry.next]o23397, o23399[LinkedList$Entry.next]o24077, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399) -> f8975_0_indexOf_FieldAccess(EOS(STATIC_8975), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24261sub1442551330), java.lang.Object(o24079sub1442551330))), o23399[LinkedList$Entry.next]o23397, o23399[LinkedList$Entry.next]o24077, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399) :|: TRUE 37.14/11.39 f8975_0_indexOf_FieldAccess(EOS(STATIC_8975), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24261sub1442551330), java.lang.Object(o24079sub1442551330))), o23399[LinkedList$Entry.next]o23397, o23399[LinkedList$Entry.next]o24077, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399) -> f8980_0_indexOf_Store(EOS(STATIC_8980), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o24079sub0), o23399[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o24079) :|: o23399[LinkedList$Entry.next]o24079 > o23399[LinkedList$Entry.next]o24077 && o23399[LinkedList$Entry.next]o24077 >= 0 37.14/11.39 f8980_0_indexOf_Store(EOS(STATIC_8980), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o24079sub0), o23399[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o24079) -> f9013_0_indexOf_JMP(EOS(STATIC_9013), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o24079sub0), o23399[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o24079) :|: TRUE 37.14/11.39 f9013_0_indexOf_JMP(EOS(STATIC_9013), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o24079sub0), o23399[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o24079) -> f9026_0_indexOf_Load(EOS(STATIC_9026), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o24079sub0), o23399[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o24079) :|: TRUE 37.14/11.39 f9026_0_indexOf_Load(EOS(STATIC_9026), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o24079sub0), o23399[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o24079) -> f8862_0_indexOf_Load(EOS(STATIC_8862), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o24079sub0), o23399[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23397, o24079[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o24079) :|: TRUE 37.14/11.39 f8862_0_indexOf_Load(EOS(STATIC_8862), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o23400sub0), o23399[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o23400) -> f8870_0_indexOf_Load(EOS(STATIC_8870), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o23400sub0), java.lang.Object(o23400sub0), o23399[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o23400) :|: TRUE 37.14/11.39 f8870_0_indexOf_Load(EOS(STATIC_8870), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o23400sub0), java.lang.Object(o23400sub0), o23399[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o23400) -> f8878_0_indexOf_FieldAccess(EOS(STATIC_8878), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o23400sub0), java.lang.Object(o23400sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), o23399[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o23400) :|: TRUE 37.14/11.39 f8878_0_indexOf_FieldAccess(EOS(STATIC_8878), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o23400sub0), java.lang.Object(o23400sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), o23399[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o23400) -> f8884_0_indexOf_EQ(EOS(STATIC_8884), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o23400sub0), java.lang.Object(o23400sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233981441719104, java.lang.Object(o23399sub1441719104))), o23399[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o23400) :|: TRUE 37.14/11.39 f8884_0_indexOf_EQ(EOS(STATIC_8884), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o23400sub0), java.lang.Object(o23400sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233981441719104, java.lang.Object(o23399sub1441719104))), o23399[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o23400) -> f8891_0_indexOf_EQ(EOS(STATIC_8891), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(o23399sub-1411529119)))))))), java.lang.Object(o23400sub0), java.lang.Object(o23400sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233981441719104, java.lang.Object(o23399sub1441719104))), o23399[LinkedList$Entry.next]o23397, o23400[LinkedList$Entry.next]o23399, o23399[LinkedList$Entry.next]o23400, o23400[LinkedList$Entry.next]o23397) :|: o23400[LinkedList$Entry.next]o23397 > 0 37.14/11.39 f8913_0_indexOf_FieldAccess(EOS(STATIC_8913), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o2408231022986, java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240821442552105, java.lang.Object(o24083sub1442552105))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240821442552105, java.lang.Object(o24083sub1442552105))), o24081[LinkedList$Entry.next]o23397, o24081[LinkedList$Entry.next]o24081) -> f8922_0_indexOf_FieldAccess(EOS(STATIC_8922), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o2408231022986, java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240821442552105, java.lang.Object(o24083sub1442552105))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240821442552105, java.lang.Object(o24083sub1442552105))), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) :|: o24083[LinkedList$Entry.next]o23397 < o24081[LinkedList$Entry.next]o23397 && o24081[LinkedList$Entry.next]o23397 >= 0 && o24083[LinkedList$Entry.next]o24081 < o24081[LinkedList$Entry.next]o24081 && o24081[LinkedList$Entry.next]o24081 >= 0 37.14/11.39 f8922_0_indexOf_FieldAccess(EOS(STATIC_8922), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o2408231022986, java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240821442552105, java.lang.Object(o24083sub1442552105))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240821442552105, java.lang.Object(o24083sub1442552105))), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) -> f8931_0_indexOf_NONNULL(EOS(STATIC_8931), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o2408231022986, java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240821442552105, java.lang.Object(o24083sub1442552105))), o240820, o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) :|: TRUE 37.14/11.39 f8931_0_indexOf_NONNULL(EOS(STATIC_8931), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub1442552105), java.lang.Object(o24083sub1442552105))), java.lang.Object(o24262sub0), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) -> f8943_0_indexOf_NONNULL(EOS(STATIC_8943), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub1442552105), java.lang.Object(o24083sub1442552105))), java.lang.Object(o24262sub0), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) :|: TRUE 37.14/11.39 f8943_0_indexOf_NONNULL(EOS(STATIC_8943), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub1442552105), java.lang.Object(o24083sub1442552105))), java.lang.Object(o24262sub0), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) -> f8956_0_indexOf_Inc(EOS(STATIC_8956), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub1442552105), java.lang.Object(o24083sub1442552105))), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) :|: TRUE 37.14/11.39 f8956_0_indexOf_Inc(EOS(STATIC_8956), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub1442552105), java.lang.Object(o24083sub1442552105))), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) -> f8967_0_indexOf_Load(EOS(STATIC_8967), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub1442552105), java.lang.Object(o24083sub1442552105))), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) :|: TRUE 37.14/11.39 f8967_0_indexOf_Load(EOS(STATIC_8967), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub1442552105), java.lang.Object(o24083sub1442552105))), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) -> f8976_0_indexOf_FieldAccess(EOS(STATIC_8976), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub1442552105), java.lang.Object(o24083sub1442552105))), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) :|: TRUE 37.14/11.39 f8976_0_indexOf_FieldAccess(EOS(STATIC_8976), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub1442552105), java.lang.Object(o24083sub1442552105))), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) -> f8981_0_indexOf_Store(EOS(STATIC_8981), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(o24083sub0), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) :|: TRUE 37.14/11.39 f8981_0_indexOf_Store(EOS(STATIC_8981), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(o24083sub0), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) -> f9014_0_indexOf_JMP(EOS(STATIC_9014), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(o24083sub0), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) :|: TRUE 37.14/11.39 f9014_0_indexOf_JMP(EOS(STATIC_9014), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(o24083sub0), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) -> f9027_0_indexOf_Load(EOS(STATIC_9027), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(o24083sub0), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) :|: TRUE 37.14/11.39 f9027_0_indexOf_Load(EOS(STATIC_9027), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(o24083sub0), o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081) -> f8862_0_indexOf_Load(EOS(STATIC_8862), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986), java.lang.Object(o24083sub31022986)))))))))), java.lang.Object(o24083sub0), o24081[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o23397, o24083[LinkedList$Entry.next]o24081, o24081[LinkedList$Entry.next]o24083) :|: o24081[LinkedList$Entry.next]o24083 = 1 37.14/11.39 Combined rules. Obtained 2 IRulesP rules: 37.14/11.39 f8891_0_indexOf_EQ(EOS(STATIC_8891), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119:0, java.lang.Object(o23399sub-1411529119:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24261sub1442551330:0), java.lang.Object(o24079sub1442551330:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24261sub1442551330:0), java.lang.Object(o24079sub1442551330:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233981441719104:0, java.lang.Object(o23399sub1441719104:0))), o23399[LinkedList$Entry.next]o23397:0, o23400[LinkedList$Entry.next]o23399:0, o23399[LinkedList$Entry.next]o23400:0, o23400[LinkedList$Entry.next]o23397:0) -> f8891_0_indexOf_EQ(EOS(STATIC_8891), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119:0, java.lang.Object(o23399sub-1411529119:0)))))))), java.lang.Object(o24079sub0:0), java.lang.Object(o24079sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233981441719104:1, java.lang.Object(o23399sub1441719104:1))), o23399[LinkedList$Entry.next]o23397:0, o24079[LinkedList$Entry.next]o23399:0, o23399[LinkedList$Entry.next]o24079:0, o24079[LinkedList$Entry.next]o23397:0) :|: o23399[LinkedList$Entry.next]o23400:0 > 0 && o23400[LinkedList$Entry.next]o23399:0 > 0 && o23400[LinkedList$Entry.next]o23397:0 > -1 && o24079[LinkedList$Entry.next]o23397:0 < o23400[LinkedList$Entry.next]o23397:0 && o24079[LinkedList$Entry.next]o23399:0 < o23400[LinkedList$Entry.next]o23399:0 && o24079[LinkedList$Entry.next]o23397:0 > 0 && o23399[LinkedList$Entry.next]o24079:0 > o23399[LinkedList$Entry.next]o23400:0 37.14/11.39 f8891_0_indexOf_EQ(EOS(STATIC_8891), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986:0), java.lang.Object(o24083sub31022986:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub1442552105:0), java.lang.Object(o24083sub1442552105:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub1442552105:0), java.lang.Object(o24083sub1442552105:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233981441719104:0, java.lang.Object(o23399sub1441719104:0))), o23399[LinkedList$Entry.next]o23397:0, o23400[LinkedList$Entry.next]o23399:0, o23400[LinkedList$Entry.next]o23399:0, o23399[LinkedList$Entry.next]o23397:0) -> f8891_0_indexOf_EQ(EOS(STATIC_8891), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23398-1411529119:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24262sub31022986:0), java.lang.Object(o24083sub31022986:0)))))))))), java.lang.Object(o24083sub0:0), java.lang.Object(o24083sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233981441719104:1, java.lang.Object(o23399sub1441719104:1))), o24081[LinkedList$Entry.next]o23397:0, o24083[LinkedList$Entry.next]o24081:0, 1, o24083[LinkedList$Entry.next]o23397:0) :|: o23399[LinkedList$Entry.next]o23397:0 > -1 && o24083[LinkedList$Entry.next]o23397:0 < o23399[LinkedList$Entry.next]o23397:0 && o24083[LinkedList$Entry.next]o24081:0 < o23400[LinkedList$Entry.next]o23399:0 && o24083[LinkedList$Entry.next]o23397:0 > 0 && o23400[LinkedList$Entry.next]o23399:0 > -1 37.14/11.39 Filtered constant ground arguments: 37.14/11.39 f8891_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f8891_0_indexOf_EQ(x2, x3, x4, x5, x6, x7, x8, x9) 37.14/11.39 EOS(x1) -> EOS 37.14/11.39 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 37.14/11.39 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 37.14/11.39 Filtered duplicate arguments: 37.14/11.39 f8891_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8) -> f8891_0_indexOf_EQ(x1, x3, x4, x5, x6, x7, x8) 37.14/11.39 Filtered unneeded arguments: 37.14/11.39 f8891_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7) -> f8891_0_indexOf_EQ(x1, x2, x4, x5, x6, x7) 37.14/11.39 Finished conversion. Obtained 2 rules.P rules: 37.14/11.39 f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23398-1411529119:0, java.lang.Object(o23399sub-1411529119:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24261sub1442551330:0), java.lang.Object(o24079sub1442551330:0))), o23399[LinkedList$Entry.next]o23397:0, o23400[LinkedList$Entry.next]o23399:0, o23399[LinkedList$Entry.next]o23400:0, o23400[LinkedList$Entry.next]o23397:0, o23398-1411529119:0) -> f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23398-1411529119:0, java.lang.Object(o23399sub-1411529119:0)))))))), java.lang.Object(o24079sub0:0), o23399[LinkedList$Entry.next]o23397:0, o24079[LinkedList$Entry.next]o23399:0, o23399[LinkedList$Entry.next]o24079:0, o24079[LinkedList$Entry.next]o23397:0, o23398-1411529119:0) :|: o23400[LinkedList$Entry.next]o23399:0 > 0 && o23399[LinkedList$Entry.next]o23400:0 > 0 && o23400[LinkedList$Entry.next]o23397:0 > -1 && o24079[LinkedList$Entry.next]o23397:0 < o23400[LinkedList$Entry.next]o23397:0 && o24079[LinkedList$Entry.next]o23399:0 < o23400[LinkedList$Entry.next]o23399:0 && o23399[LinkedList$Entry.next]o24079:0 > o23399[LinkedList$Entry.next]o23400:0 && o24079[LinkedList$Entry.next]o23397:0 > 0 37.14/11.39 f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23398-1411529119:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24262sub31022986:0), java.lang.Object(o24083sub31022986:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24262sub1442552105:0), java.lang.Object(o24083sub1442552105:0))), o23399[LinkedList$Entry.next]o23397:0, o23400[LinkedList$Entry.next]o23399:0, o23400[LinkedList$Entry.next]o23399:0, o23399[LinkedList$Entry.next]o23397:0, o23398-1411529119:0) -> f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23398-1411529119:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24262sub31022986:0), java.lang.Object(o24083sub31022986:0)))))))))), java.lang.Object(o24083sub0:0), o24081[LinkedList$Entry.next]o23397:0, o24083[LinkedList$Entry.next]o24081:0, 1, o24083[LinkedList$Entry.next]o23397:0, o23398-1411529119:0) :|: o24083[LinkedList$Entry.next]o23397:0 < o23399[LinkedList$Entry.next]o23397:0 && o23399[LinkedList$Entry.next]o23397:0 > -1 && o24083[LinkedList$Entry.next]o24081:0 < o23400[LinkedList$Entry.next]o23399:0 && o23400[LinkedList$Entry.next]o23399:0 > -1 && o24083[LinkedList$Entry.next]o23397:0 > 0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (76) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23398-1411529119:0, java.lang.Object(o23399sub-1411529119:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24261sub1442551330:0), java.lang.Object(o24079sub1442551330:0))), o23399[LinkedList$Entry.next]o23397:0, o23400[LinkedList$Entry.next]o23399:0, o23399[LinkedList$Entry.next]o23400:0, o23400[LinkedList$Entry.next]o23397:0, o23398-1411529119:0) -> f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23398-1411529119:0, java.lang.Object(o23399sub-1411529119:0)))))))), java.lang.Object(o24079sub0:0), o23399[LinkedList$Entry.next]o23397:0, o24079[LinkedList$Entry.next]o23399:0, o23399[LinkedList$Entry.next]o24079:0, o24079[LinkedList$Entry.next]o23397:0, o23398-1411529119:0) :|: o23400[LinkedList$Entry.next]o23399:0 > 0 && o23399[LinkedList$Entry.next]o23400:0 > 0 && o23400[LinkedList$Entry.next]o23397:0 > -1 && o24079[LinkedList$Entry.next]o23397:0 < o23400[LinkedList$Entry.next]o23397:0 && o24079[LinkedList$Entry.next]o23399:0 < o23400[LinkedList$Entry.next]o23399:0 && o23399[LinkedList$Entry.next]o24079:0 > o23399[LinkedList$Entry.next]o23400:0 && o24079[LinkedList$Entry.next]o23397:0 > 0 37.14/11.39 f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x6, x5, x) -> f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), x8, x9, 1, x10, x) :|: x10 < x5 && x5 > -1 && x9 < x6 && x6 > -1 && x10 > 0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (77) IRSFormatTransformerProof (EQUIVALENT) 37.14/11.39 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (78) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23398-1411529119:0, java.lang.Object(o23399sub-1411529119:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24261sub1442551330:0), java.lang.Object(o24079sub1442551330:0))), o23399[LinkedList$Entry.next]o23397:0, o23400[LinkedList$Entry.next]o23399:0, o23399[LinkedList$Entry.next]o23400:0, o23400[LinkedList$Entry.next]o23397:0, o23398-1411529119:0) -> f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23398-1411529119:0, java.lang.Object(o23399sub-1411529119:0)))))))), java.lang.Object(o24079sub0:0), o23399[LinkedList$Entry.next]o23397:0, o24079[LinkedList$Entry.next]o23399:0, o23399[LinkedList$Entry.next]o24079:0, o24079[LinkedList$Entry.next]o23397:0, o23398-1411529119:0) :|: o23400[LinkedList$Entry.next]o23399:0 > 0 && o23399[LinkedList$Entry.next]o23400:0 > 0 && o23400[LinkedList$Entry.next]o23397:0 > -1 && o24079[LinkedList$Entry.next]o23397:0 < o23400[LinkedList$Entry.next]o23397:0 && o24079[LinkedList$Entry.next]o23399:0 < o23400[LinkedList$Entry.next]o23399:0 && o23399[LinkedList$Entry.next]o24079:0 > o23399[LinkedList$Entry.next]o23400:0 && o24079[LinkedList$Entry.next]o23397:0 > 0 37.14/11.39 f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x6, x5, x) -> f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), x8, x9, 1, x10, x) :|: x10 < x5 && x5 > -1 && x9 < x6 && x6 > -1 && x10 > 0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (79) IRSwTTerminationDigraphProof (EQUIVALENT) 37.14/11.39 Constructed termination digraph! 37.14/11.39 Nodes: 37.14/11.39 (1) f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23398-1411529119:0, java.lang.Object(o23399sub-1411529119:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24261sub1442551330:0), java.lang.Object(o24079sub1442551330:0))), o23399[LinkedList$Entry.next]o23397:0, o23400[LinkedList$Entry.next]o23399:0, o23399[LinkedList$Entry.next]o23400:0, o23400[LinkedList$Entry.next]o23397:0, o23398-1411529119:0) -> f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23398-1411529119:0, java.lang.Object(o23399sub-1411529119:0)))))))), java.lang.Object(o24079sub0:0), o23399[LinkedList$Entry.next]o23397:0, o24079[LinkedList$Entry.next]o23399:0, o23399[LinkedList$Entry.next]o24079:0, o24079[LinkedList$Entry.next]o23397:0, o23398-1411529119:0) :|: o23400[LinkedList$Entry.next]o23399:0 > 0 && o23399[LinkedList$Entry.next]o23400:0 > 0 && o23400[LinkedList$Entry.next]o23397:0 > -1 && o24079[LinkedList$Entry.next]o23397:0 < o23400[LinkedList$Entry.next]o23397:0 && o24079[LinkedList$Entry.next]o23399:0 < o23400[LinkedList$Entry.next]o23399:0 && o23399[LinkedList$Entry.next]o24079:0 > o23399[LinkedList$Entry.next]o23400:0 && o24079[LinkedList$Entry.next]o23397:0 > 0 37.14/11.39 (2) f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x6, x5, x) -> f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), x8, x9, 1, x10, x) :|: x10 < x5 && x5 > -1 && x9 < x6 && x6 > -1 && x10 > 0 37.14/11.39 37.14/11.39 Arcs: 37.14/11.39 (1) -> (1), (2) 37.14/11.39 (2) -> (1), (2) 37.14/11.39 37.14/11.39 This digraph is fully evaluated! 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (80) 37.14/11.39 Obligation: 37.14/11.39 37.14/11.39 Termination digraph: 37.14/11.39 Nodes: 37.14/11.39 (1) f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23398-1411529119:0, java.lang.Object(o23399sub-1411529119:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24261sub1442551330:0), java.lang.Object(o24079sub1442551330:0))), o23399[LinkedList$Entry.next]o23397:0, o23400[LinkedList$Entry.next]o23399:0, o23399[LinkedList$Entry.next]o23400:0, o23400[LinkedList$Entry.next]o23397:0, o23398-1411529119:0) -> f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23398-1411529119:0, java.lang.Object(o23399sub-1411529119:0)))))))), java.lang.Object(o24079sub0:0), o23399[LinkedList$Entry.next]o23397:0, o24079[LinkedList$Entry.next]o23399:0, o23399[LinkedList$Entry.next]o24079:0, o24079[LinkedList$Entry.next]o23397:0, o23398-1411529119:0) :|: o23400[LinkedList$Entry.next]o23399:0 > 0 && o23399[LinkedList$Entry.next]o23400:0 > 0 && o23400[LinkedList$Entry.next]o23397:0 > -1 && o24079[LinkedList$Entry.next]o23397:0 < o23400[LinkedList$Entry.next]o23397:0 && o24079[LinkedList$Entry.next]o23399:0 < o23400[LinkedList$Entry.next]o23399:0 && o23399[LinkedList$Entry.next]o24079:0 > o23399[LinkedList$Entry.next]o23400:0 && o24079[LinkedList$Entry.next]o23397:0 > 0 37.14/11.39 (2) f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x6, x5, x) -> f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), x8, x9, 1, x10, x) :|: x10 < x5 && x5 > -1 && x9 < x6 && x6 > -1 && x10 > 0 37.14/11.39 37.14/11.39 Arcs: 37.14/11.39 (1) -> (1), (2) 37.14/11.39 (2) -> (1), (2) 37.14/11.39 37.14/11.39 This digraph is fully evaluated! 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (81) IntTRSCompressionProof (EQUIVALENT) 37.14/11.39 Compressed rules. 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (82) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23398-1411529119:0:0, java.lang.Object(o23399sub-1411529119:0:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24261sub1442551330:0:0), java.lang.Object(o24079sub1442551330:0:0))), o23399[LinkedList$Entry.next]o23397:0:0, o23400[LinkedList$Entry.next]o23399:0:0, o23399[LinkedList$Entry.next]o23400:0:0, o23400[LinkedList$Entry.next]o23397:0:0, o23398-1411529119:0:0) -> f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23398-1411529119:0:0, java.lang.Object(o23399sub-1411529119:0:0)))))))), java.lang.Object(o24079sub0:0:0), o23399[LinkedList$Entry.next]o23397:0:0, o24079[LinkedList$Entry.next]o23399:0:0, o23399[LinkedList$Entry.next]o24079:0:0, o24079[LinkedList$Entry.next]o23397:0:0, o23398-1411529119:0:0) :|: o23399[LinkedList$Entry.next]o24079:0:0 > o23399[LinkedList$Entry.next]o23400:0:0 && o24079[LinkedList$Entry.next]o23397:0:0 > 0 && o24079[LinkedList$Entry.next]o23399:0:0 < o23400[LinkedList$Entry.next]o23399:0:0 && o24079[LinkedList$Entry.next]o23397:0:0 < o23400[LinkedList$Entry.next]o23397:0:0 && o23400[LinkedList$Entry.next]o23397:0:0 > -1 && o23399[LinkedList$Entry.next]o23400:0:0 > 0 && o23400[LinkedList$Entry.next]o23399:0:0 > 0 37.14/11.39 f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1:0), java.lang.Object(x2:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3:0), java.lang.Object(x4:0))), x5:0, x6:0, x6:0, x5:0, x:0) -> f8891_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1:0), java.lang.Object(x2:0)))))))))), java.lang.Object(x7:0), x8:0, x9:0, 1, x10:0, x:0) :|: x6:0 > -1 && x10:0 > 0 && x9:0 < x6:0 && x5:0 > -1 && x5:0 > x10:0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (83) TempFilterProof (SOUND) 37.14/11.39 Used the following sort dictionary for filtering: 37.14/11.39 f8891_0_indexOf_EQ(VARIABLE, VARIABLE, VARIABLE, INTEGER, VARIABLE, INTEGER, VARIABLE) 37.14/11.39 java.lang.Object(VARIABLE) 37.14/11.39 javaUtilEx.AbstractCollection(VARIABLE) 37.14/11.39 javaUtilEx.AbstractList(VARIABLE) 37.14/11.39 javaUtilEx.AbstractSequentialList(VARIABLE) 37.14/11.39 javaUtilEx.LinkedList(VARIABLE) 37.14/11.39 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 37.14/11.39 Replaced non-predefined constructor symbols by 0. 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (84) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8891_0_indexOf_EQ(c, c1, o23399[LinkedList$Entry.next]o23397:0:0, o23400[LinkedList$Entry.next]o23399:0:0, o23399[LinkedList$Entry.next]o23400:0:0, o23400[LinkedList$Entry.next]o23397:0:0, o23398-1411529119:0:0) -> f8891_0_indexOf_EQ(c2, c3, o23399[LinkedList$Entry.next]o23397:0:0, o24079[LinkedList$Entry.next]o23399:0:0, o23399[LinkedList$Entry.next]o24079:0:0, o24079[LinkedList$Entry.next]o23397:0:0, o23398-1411529119:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o23399[LinkedList$Entry.next]o24079:0:0 > o23399[LinkedList$Entry.next]o23400:0:0 && o24079[LinkedList$Entry.next]o23397:0:0 > 0 && o24079[LinkedList$Entry.next]o23399:0:0 < o23400[LinkedList$Entry.next]o23399:0:0 && o24079[LinkedList$Entry.next]o23397:0:0 < o23400[LinkedList$Entry.next]o23397:0:0 && o23400[LinkedList$Entry.next]o23397:0:0 > -1 && o23399[LinkedList$Entry.next]o23400:0:0 > 0 && o23400[LinkedList$Entry.next]o23399:0:0 > 0) 37.14/11.39 f8891_0_indexOf_EQ(c4, c5, x5:0, x6:0, x6:0, x5:0, x:0) -> f8891_0_indexOf_EQ(c6, c7, x8:0, x9:0, c8, x10:0, x:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x6:0 > -1 && x10:0 > 0 && x9:0 < x6:0 && x5:0 > -1 && x5:0 > x10:0) 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (85) RankingReductionPairProof (EQUIVALENT) 37.14/11.39 Interpretation: 37.14/11.39 [ f8891_0_indexOf_EQ ] = f8891_0_indexOf_EQ_6 37.14/11.39 37.14/11.39 The following rules are decreasing: 37.14/11.39 f8891_0_indexOf_EQ(c, c1, o23399[LinkedList$Entry.next]o23397:0:0, o23400[LinkedList$Entry.next]o23399:0:0, o23399[LinkedList$Entry.next]o23400:0:0, o23400[LinkedList$Entry.next]o23397:0:0, o23398-1411529119:0:0) -> f8891_0_indexOf_EQ(c2, c3, o23399[LinkedList$Entry.next]o23397:0:0, o24079[LinkedList$Entry.next]o23399:0:0, o23399[LinkedList$Entry.next]o24079:0:0, o24079[LinkedList$Entry.next]o23397:0:0, o23398-1411529119:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o23399[LinkedList$Entry.next]o24079:0:0 > o23399[LinkedList$Entry.next]o23400:0:0 && o24079[LinkedList$Entry.next]o23397:0:0 > 0 && o24079[LinkedList$Entry.next]o23399:0:0 < o23400[LinkedList$Entry.next]o23399:0:0 && o24079[LinkedList$Entry.next]o23397:0:0 < o23400[LinkedList$Entry.next]o23397:0:0 && o23400[LinkedList$Entry.next]o23397:0:0 > -1 && o23399[LinkedList$Entry.next]o23400:0:0 > 0 && o23400[LinkedList$Entry.next]o23399:0:0 > 0) 37.14/11.39 f8891_0_indexOf_EQ(c4, c5, x5:0, x6:0, x6:0, x5:0, x:0) -> f8891_0_indexOf_EQ(c6, c7, x8:0, x9:0, c8, x10:0, x:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x6:0 > -1 && x10:0 > 0 && x9:0 < x6:0 && x5:0 > -1 && x5:0 > x10:0) 37.14/11.39 37.14/11.39 The following rules are bounded: 37.14/11.39 f8891_0_indexOf_EQ(c, c1, o23399[LinkedList$Entry.next]o23397:0:0, o23400[LinkedList$Entry.next]o23399:0:0, o23399[LinkedList$Entry.next]o23400:0:0, o23400[LinkedList$Entry.next]o23397:0:0, o23398-1411529119:0:0) -> f8891_0_indexOf_EQ(c2, c3, o23399[LinkedList$Entry.next]o23397:0:0, o24079[LinkedList$Entry.next]o23399:0:0, o23399[LinkedList$Entry.next]o24079:0:0, o24079[LinkedList$Entry.next]o23397:0:0, o23398-1411529119:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o23399[LinkedList$Entry.next]o24079:0:0 > o23399[LinkedList$Entry.next]o23400:0:0 && o24079[LinkedList$Entry.next]o23397:0:0 > 0 && o24079[LinkedList$Entry.next]o23399:0:0 < o23400[LinkedList$Entry.next]o23399:0:0 && o24079[LinkedList$Entry.next]o23397:0:0 < o23400[LinkedList$Entry.next]o23397:0:0 && o23400[LinkedList$Entry.next]o23397:0:0 > -1 && o23399[LinkedList$Entry.next]o23400:0:0 > 0 && o23400[LinkedList$Entry.next]o23399:0:0 > 0) 37.14/11.39 f8891_0_indexOf_EQ(c4, c5, x5:0, x6:0, x6:0, x5:0, x:0) -> f8891_0_indexOf_EQ(c6, c7, x8:0, x9:0, c8, x10:0, x:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x6:0 > -1 && x10:0 > 0 && x9:0 < x6:0 && x5:0 > -1 && x5:0 > x10:0) 37.14/11.39 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (86) 37.14/11.39 YES 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (87) 37.14/11.39 Obligation: 37.14/11.39 SCC of termination graph based on JBC Program. 37.14/11.39 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateContains.main([Ljava/lang/String;)V 37.14/11.39 SCC calls the following helper methods: 37.14/11.39 Performed SCC analyses: 37.14/11.39 *Used field analysis yielded the following read fields: 37.14/11.39 *javaUtilEx.LinkedList$Entry: [element, next] 37.14/11.39 *javaUtilEx.LinkedList: [header] 37.14/11.39 *Marker field analysis yielded the following relations that could be markers: 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (88) SCCToIRSProof (SOUND) 37.14/11.39 Transformed FIGraph SCCs to intTRSs. Log: 37.14/11.39 Generated rules. Obtained 28 IRulesP rules: 37.14/11.39 f8889_0_indexOf_EQ(EOS(STATIC_8889), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o23329sub0), java.lang.Object(o23329sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233261441712315, java.lang.Object(o23327sub1441712315))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o23329, o23329[LinkedList$Entry.next]o23325) -> f8896_0_indexOf_Load(EOS(STATIC_8896), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o23329sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o23329, o23329[LinkedList$Entry.next]o23325) :|: TRUE 37.14/11.39 f8896_0_indexOf_Load(EOS(STATIC_8896), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o23329sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o23329, o23329[LinkedList$Entry.next]o23325) -> f8903_0_indexOf_FieldAccess(EOS(STATIC_8903), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o23329sub0), java.lang.Object(o23329sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o23329, o23329[LinkedList$Entry.next]o23325) :|: TRUE 37.14/11.39 f8903_0_indexOf_FieldAccess(EOS(STATIC_8903), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o23329sub0), java.lang.Object(o23329sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o23329, o23329[LinkedList$Entry.next]o23325) -> f8910_0_indexOf_FieldAccess(EOS(STATIC_8910), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o23329sub0), java.lang.Object(o23329sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23327[LinkedList$Entry.next]o23329, o23329[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23327) :|: o23329[LinkedList$Entry.next]o23327 > 0 && o23327[LinkedList$Entry.next]o23329 > 0 37.14/11.39 f8903_0_indexOf_FieldAccess(EOS(STATIC_8903), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o24049sub-1411542697)))))))), java.lang.Object(o24049sub0), java.lang.Object(o24049sub0), o23328[LinkedList$Entry.previous]o23325, o24049[LinkedList$Entry.next]o23325, o24049[LinkedList$Entry.next]o24049, o24049[LinkedList$Entry.next]o24049, o24049[LinkedList$Entry.next]o23325) -> f8911_0_indexOf_FieldAccess(EOS(STATIC_8911), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o24049sub-1411542697)))))))), java.lang.Object(o24049sub0), java.lang.Object(o24049sub0), o23328[LinkedList$Entry.previous]o23325, o24049[LinkedList$Entry.next]o23325, o24049[LinkedList$Entry.next]o24049) :|: TRUE 37.14/11.39 f8910_0_indexOf_FieldAccess(EOS(STATIC_8910), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240701442550431, java.lang.Object(o24071sub1442550431))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240701442550431, java.lang.Object(o24071sub1442550431))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23327[LinkedList$Entry.next]o24069, o24069[LinkedList$Entry.next]o23325, o24069[LinkedList$Entry.next]o23327) -> f8919_0_indexOf_FieldAccess(EOS(STATIC_8919), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240701442550431, java.lang.Object(o24071sub1442550431))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240701442550431, java.lang.Object(o24071sub1442550431))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23327[LinkedList$Entry.next]o24069, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327) :|: o24071[LinkedList$Entry.next]o23325 < o24069[LinkedList$Entry.next]o23325 && o24069[LinkedList$Entry.next]o23325 >= 0 && o24071[LinkedList$Entry.next]o23327 < o24069[LinkedList$Entry.next]o23327 && o24069[LinkedList$Entry.next]o23327 >= 0 37.14/11.39 f8919_0_indexOf_FieldAccess(EOS(STATIC_8919), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240701442550431, java.lang.Object(o24071sub1442550431))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240701442550431, java.lang.Object(o24071sub1442550431))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23327[LinkedList$Entry.next]o24069, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327) -> f8928_0_indexOf_NONNULL(EOS(STATIC_8928), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240701442550431, java.lang.Object(o24071sub1442550431))), o240700, o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23327[LinkedList$Entry.next]o24069, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327) :|: TRUE 37.14/11.39 f8928_0_indexOf_NONNULL(EOS(STATIC_8928), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24259sub1442550431), java.lang.Object(o24071sub1442550431))), java.lang.Object(o24259sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23327[LinkedList$Entry.next]o24069, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327) -> f8937_0_indexOf_NONNULL(EOS(STATIC_8937), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24259sub1442550431), java.lang.Object(o24071sub1442550431))), java.lang.Object(o24259sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23327[LinkedList$Entry.next]o24069, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327) :|: TRUE 37.14/11.39 f8937_0_indexOf_NONNULL(EOS(STATIC_8937), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24259sub1442550431), java.lang.Object(o24071sub1442550431))), java.lang.Object(o24259sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23327[LinkedList$Entry.next]o24069, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327) -> f8950_0_indexOf_Inc(EOS(STATIC_8950), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24259sub1442550431), java.lang.Object(o24071sub1442550431))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23327[LinkedList$Entry.next]o24069, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327) :|: TRUE 37.14/11.39 f8950_0_indexOf_Inc(EOS(STATIC_8950), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24259sub1442550431), java.lang.Object(o24071sub1442550431))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23327[LinkedList$Entry.next]o24069, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327) -> f8963_0_indexOf_Load(EOS(STATIC_8963), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24259sub1442550431), java.lang.Object(o24071sub1442550431))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23327[LinkedList$Entry.next]o24069, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327) :|: TRUE 37.14/11.39 f8963_0_indexOf_Load(EOS(STATIC_8963), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24259sub1442550431), java.lang.Object(o24071sub1442550431))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23327[LinkedList$Entry.next]o24069, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327) -> f8972_0_indexOf_FieldAccess(EOS(STATIC_8972), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24259sub1442550431), java.lang.Object(o24071sub1442550431))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23327[LinkedList$Entry.next]o24069, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327) :|: TRUE 37.14/11.39 f8972_0_indexOf_FieldAccess(EOS(STATIC_8972), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24259sub1442550431), java.lang.Object(o24071sub1442550431))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23327[LinkedList$Entry.next]o24069, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327) -> f8977_0_indexOf_Store(EOS(STATIC_8977), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o24071sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o24071) :|: o23327[LinkedList$Entry.next]o24071 > o23327[LinkedList$Entry.next]o24069 && o23327[LinkedList$Entry.next]o24069 >= 0 37.14/11.39 f8977_0_indexOf_Store(EOS(STATIC_8977), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o24071sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o24071) -> f9010_0_indexOf_JMP(EOS(STATIC_9010), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o24071sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o24071) :|: TRUE 37.14/11.39 f9010_0_indexOf_JMP(EOS(STATIC_9010), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o24071sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o24071) -> f9023_0_indexOf_Load(EOS(STATIC_9023), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o24071sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o24071) :|: TRUE 37.14/11.39 f9023_0_indexOf_Load(EOS(STATIC_9023), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o24071sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o24071) -> f8859_0_indexOf_Load(EOS(STATIC_8859), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o24071sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23325, o24071[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o24071) :|: TRUE 37.14/11.39 f8859_0_indexOf_Load(EOS(STATIC_8859), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o23329sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o23329) -> f8869_0_indexOf_Load(EOS(STATIC_8869), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o23329sub0), java.lang.Object(o23329sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o23329) :|: TRUE 37.14/11.39 f8869_0_indexOf_Load(EOS(STATIC_8869), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o23329sub0), java.lang.Object(o23329sub0), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o23329) -> f8877_0_indexOf_FieldAccess(EOS(STATIC_8877), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o23329sub0), java.lang.Object(o23329sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o23329) :|: TRUE 37.14/11.39 f8877_0_indexOf_FieldAccess(EOS(STATIC_8877), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o23329sub0), java.lang.Object(o23329sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o23329) -> f8883_0_indexOf_EQ(EOS(STATIC_8883), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o23329sub0), java.lang.Object(o23329sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233261441712315, java.lang.Object(o23327sub1441712315))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o23329) :|: TRUE 37.14/11.39 f8883_0_indexOf_EQ(EOS(STATIC_8883), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o23329sub0), java.lang.Object(o23329sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233261441712315, java.lang.Object(o23327sub1441712315))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o23329) -> f8889_0_indexOf_EQ(EOS(STATIC_8889), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(o23327sub-1411542697)))))))), java.lang.Object(o23329sub0), java.lang.Object(o23329sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233261441712315, java.lang.Object(o23327sub1441712315))), o23328[LinkedList$Entry.previous]o23325, o23327[LinkedList$Entry.next]o23325, o23329[LinkedList$Entry.next]o23327, o23327[LinkedList$Entry.next]o23329, o23329[LinkedList$Entry.next]o23325) :|: o23329[LinkedList$Entry.next]o23325 > 0 37.14/11.39 f8911_0_indexOf_FieldAccess(EOS(STATIC_8911), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o2407431008509, java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240741442551206, java.lang.Object(o24075sub1442551206))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240741442551206, java.lang.Object(o24075sub1442551206))), o23328[LinkedList$Entry.previous]o23325, o24073[LinkedList$Entry.next]o23325, o24073[LinkedList$Entry.next]o24073) -> f8920_0_indexOf_FieldAccess(EOS(STATIC_8920), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o2407431008509, java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240741442551206, java.lang.Object(o24075sub1442551206))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240741442551206, java.lang.Object(o24075sub1442551206))), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) :|: o24075[LinkedList$Entry.next]o23325 < o24073[LinkedList$Entry.next]o23325 && o24073[LinkedList$Entry.next]o23325 >= 0 && o24075[LinkedList$Entry.next]o24073 < o24073[LinkedList$Entry.next]o24073 && o24073[LinkedList$Entry.next]o24073 >= 0 37.14/11.39 f8920_0_indexOf_FieldAccess(EOS(STATIC_8920), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o2407431008509, java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240741442551206, java.lang.Object(o24075sub1442551206))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240741442551206, java.lang.Object(o24075sub1442551206))), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) -> f8929_0_indexOf_NONNULL(EOS(STATIC_8929), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o2407431008509, java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o240741442551206, java.lang.Object(o24075sub1442551206))), o240740, o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) :|: TRUE 37.14/11.39 f8929_0_indexOf_NONNULL(EOS(STATIC_8929), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub1442551206), java.lang.Object(o24075sub1442551206))), java.lang.Object(o24260sub0), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) -> f8939_0_indexOf_NONNULL(EOS(STATIC_8939), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub1442551206), java.lang.Object(o24075sub1442551206))), java.lang.Object(o24260sub0), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) :|: TRUE 37.14/11.39 f8939_0_indexOf_NONNULL(EOS(STATIC_8939), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub1442551206), java.lang.Object(o24075sub1442551206))), java.lang.Object(o24260sub0), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) -> f8952_0_indexOf_Inc(EOS(STATIC_8952), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub1442551206), java.lang.Object(o24075sub1442551206))), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) :|: TRUE 37.14/11.39 f8952_0_indexOf_Inc(EOS(STATIC_8952), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub1442551206), java.lang.Object(o24075sub1442551206))), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) -> f8965_0_indexOf_Load(EOS(STATIC_8965), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub1442551206), java.lang.Object(o24075sub1442551206))), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) :|: TRUE 37.14/11.39 f8965_0_indexOf_Load(EOS(STATIC_8965), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub1442551206), java.lang.Object(o24075sub1442551206))), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) -> f8974_0_indexOf_FieldAccess(EOS(STATIC_8974), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub1442551206), java.lang.Object(o24075sub1442551206))), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) :|: TRUE 37.14/11.39 f8974_0_indexOf_FieldAccess(EOS(STATIC_8974), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub1442551206), java.lang.Object(o24075sub1442551206))), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) -> f8979_0_indexOf_Store(EOS(STATIC_8979), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(o24075sub0), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) :|: TRUE 37.14/11.39 f8979_0_indexOf_Store(EOS(STATIC_8979), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(o24075sub0), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) -> f9012_0_indexOf_JMP(EOS(STATIC_9012), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(o24075sub0), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) :|: TRUE 37.14/11.39 f9012_0_indexOf_JMP(EOS(STATIC_9012), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(o24075sub0), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) -> f9025_0_indexOf_Load(EOS(STATIC_9025), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(o24075sub0), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) :|: TRUE 37.14/11.39 f9025_0_indexOf_Load(EOS(STATIC_9025), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(o24075sub0), o23328[LinkedList$Entry.previous]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073) -> f8859_0_indexOf_Load(EOS(STATIC_8859), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509), java.lang.Object(o24075sub31008509)))))))))), java.lang.Object(o24075sub0), o23328[LinkedList$Entry.previous]o23325, o24073[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o23325, o24075[LinkedList$Entry.next]o24073, o24073[LinkedList$Entry.next]o24075) :|: o24073[LinkedList$Entry.next]o24075 = 1 37.14/11.39 Combined rules. Obtained 2 IRulesP rules: 37.14/11.39 f8889_0_indexOf_EQ(EOS(STATIC_8889), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697:0, java.lang.Object(o23327sub-1411542697:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24259sub1442550431:0), java.lang.Object(o24071sub1442550431:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24259sub1442550431:0), java.lang.Object(o24071sub1442550431:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233261441712315:0, java.lang.Object(o23327sub1441712315:0))), o23328[LinkedList$Entry.previous]o23325:0, o23327[LinkedList$Entry.next]o23325:0, o23329[LinkedList$Entry.next]o23327:0, o23327[LinkedList$Entry.next]o23329:0, o23329[LinkedList$Entry.next]o23325:0) -> f8889_0_indexOf_EQ(EOS(STATIC_8889), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697:0, java.lang.Object(o23327sub-1411542697:0)))))))), java.lang.Object(o24071sub0:0), java.lang.Object(o24071sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233261441712315:1, java.lang.Object(o23327sub1441712315:1))), o23328[LinkedList$Entry.previous]o23325:0, o23327[LinkedList$Entry.next]o23325:0, o24071[LinkedList$Entry.next]o23327:0, o23327[LinkedList$Entry.next]o24071:0, o24071[LinkedList$Entry.next]o23325:0) :|: o23327[LinkedList$Entry.next]o23329:0 > 0 && o23329[LinkedList$Entry.next]o23327:0 > 0 && o23329[LinkedList$Entry.next]o23325:0 > -1 && o24071[LinkedList$Entry.next]o23325:0 < o23329[LinkedList$Entry.next]o23325:0 && o24071[LinkedList$Entry.next]o23327:0 < o23329[LinkedList$Entry.next]o23327:0 && o24071[LinkedList$Entry.next]o23325:0 > 0 && o23327[LinkedList$Entry.next]o24071:0 > o23327[LinkedList$Entry.next]o23329:0 37.14/11.39 f8889_0_indexOf_EQ(EOS(STATIC_8889), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509:0), java.lang.Object(o24075sub31008509:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub1442551206:0), java.lang.Object(o24075sub1442551206:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub1442551206:0), java.lang.Object(o24075sub1442551206:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233261441712315:0, java.lang.Object(o23327sub1441712315:0))), o23328[LinkedList$Entry.previous]o23325:0, o23327[LinkedList$Entry.next]o23325:0, o23329[LinkedList$Entry.next]o23327:0, o23329[LinkedList$Entry.next]o23327:0, o23327[LinkedList$Entry.next]o23325:0) -> f8889_0_indexOf_EQ(EOS(STATIC_8889), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o23326-1411542697:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o24260sub31008509:0), java.lang.Object(o24075sub31008509:0)))))))))), java.lang.Object(o24075sub0:0), java.lang.Object(o24075sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o233261441712315:1, java.lang.Object(o23327sub1441712315:1))), o23328[LinkedList$Entry.previous]o23325:0, o24073[LinkedList$Entry.next]o23325:0, o24075[LinkedList$Entry.next]o24073:0, 1, o24075[LinkedList$Entry.next]o23325:0) :|: o23327[LinkedList$Entry.next]o23325:0 > -1 && o24075[LinkedList$Entry.next]o23325:0 < o23327[LinkedList$Entry.next]o23325:0 && o24075[LinkedList$Entry.next]o24073:0 < o23329[LinkedList$Entry.next]o23327:0 && o24075[LinkedList$Entry.next]o23325:0 > 0 && o23329[LinkedList$Entry.next]o23327:0 > -1 37.14/11.39 Filtered constant ground arguments: 37.14/11.39 f8889_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f8889_0_indexOf_EQ(x2, x3, x4, x5, x6, x7, x8, x9, x10) 37.14/11.39 EOS(x1) -> EOS 37.14/11.39 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 37.14/11.39 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 37.14/11.39 Filtered duplicate arguments: 37.14/11.39 f8889_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f8889_0_indexOf_EQ(x1, x3, x4, x5, x6, x7, x8, x9) 37.14/11.39 Filtered unneeded arguments: 37.14/11.39 f8889_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8) -> f8889_0_indexOf_EQ(x1, x2, x5, x6, x7, x8) 37.14/11.39 Finished conversion. Obtained 2 rules.P rules: 37.14/11.39 f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23326-1411542697:0, java.lang.Object(o23327sub-1411542697:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24259sub1442550431:0), java.lang.Object(o24071sub1442550431:0))), o23327[LinkedList$Entry.next]o23325:0, o23329[LinkedList$Entry.next]o23327:0, o23327[LinkedList$Entry.next]o23329:0, o23329[LinkedList$Entry.next]o23325:0, o23326-1411542697:0) -> f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23326-1411542697:0, java.lang.Object(o23327sub-1411542697:0)))))))), java.lang.Object(o24071sub0:0), o23327[LinkedList$Entry.next]o23325:0, o24071[LinkedList$Entry.next]o23327:0, o23327[LinkedList$Entry.next]o24071:0, o24071[LinkedList$Entry.next]o23325:0, o23326-1411542697:0) :|: o23329[LinkedList$Entry.next]o23327:0 > 0 && o23327[LinkedList$Entry.next]o23329:0 > 0 && o23329[LinkedList$Entry.next]o23325:0 > -1 && o24071[LinkedList$Entry.next]o23325:0 < o23329[LinkedList$Entry.next]o23325:0 && o24071[LinkedList$Entry.next]o23327:0 < o23329[LinkedList$Entry.next]o23327:0 && o23327[LinkedList$Entry.next]o24071:0 > o23327[LinkedList$Entry.next]o23329:0 && o24071[LinkedList$Entry.next]o23325:0 > 0 37.14/11.39 f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23326-1411542697:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24260sub31008509:0), java.lang.Object(o24075sub31008509:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24260sub1442551206:0), java.lang.Object(o24075sub1442551206:0))), o23327[LinkedList$Entry.next]o23325:0, o23329[LinkedList$Entry.next]o23327:0, o23329[LinkedList$Entry.next]o23327:0, o23327[LinkedList$Entry.next]o23325:0, o23326-1411542697:0) -> f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23326-1411542697:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24260sub31008509:0), java.lang.Object(o24075sub31008509:0)))))))))), java.lang.Object(o24075sub0:0), o24073[LinkedList$Entry.next]o23325:0, o24075[LinkedList$Entry.next]o24073:0, 1, o24075[LinkedList$Entry.next]o23325:0, o23326-1411542697:0) :|: o24075[LinkedList$Entry.next]o23325:0 < o23327[LinkedList$Entry.next]o23325:0 && o23327[LinkedList$Entry.next]o23325:0 > -1 && o24075[LinkedList$Entry.next]o24073:0 < o23329[LinkedList$Entry.next]o23327:0 && o23329[LinkedList$Entry.next]o23327:0 > -1 && o24075[LinkedList$Entry.next]o23325:0 > 0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (89) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23326-1411542697:0, java.lang.Object(o23327sub-1411542697:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24259sub1442550431:0), java.lang.Object(o24071sub1442550431:0))), o23327[LinkedList$Entry.next]o23325:0, o23329[LinkedList$Entry.next]o23327:0, o23327[LinkedList$Entry.next]o23329:0, o23329[LinkedList$Entry.next]o23325:0, o23326-1411542697:0) -> f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23326-1411542697:0, java.lang.Object(o23327sub-1411542697:0)))))))), java.lang.Object(o24071sub0:0), o23327[LinkedList$Entry.next]o23325:0, o24071[LinkedList$Entry.next]o23327:0, o23327[LinkedList$Entry.next]o24071:0, o24071[LinkedList$Entry.next]o23325:0, o23326-1411542697:0) :|: o23329[LinkedList$Entry.next]o23327:0 > 0 && o23327[LinkedList$Entry.next]o23329:0 > 0 && o23329[LinkedList$Entry.next]o23325:0 > -1 && o24071[LinkedList$Entry.next]o23325:0 < o23329[LinkedList$Entry.next]o23325:0 && o24071[LinkedList$Entry.next]o23327:0 < o23329[LinkedList$Entry.next]o23327:0 && o23327[LinkedList$Entry.next]o24071:0 > o23327[LinkedList$Entry.next]o23329:0 && o24071[LinkedList$Entry.next]o23325:0 > 0 37.14/11.39 f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x6, x5, x) -> f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), x8, x9, 1, x10, x) :|: x10 < x5 && x5 > -1 && x9 < x6 && x6 > -1 && x10 > 0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (90) IRSFormatTransformerProof (EQUIVALENT) 37.14/11.39 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (91) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23326-1411542697:0, java.lang.Object(o23327sub-1411542697:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24259sub1442550431:0), java.lang.Object(o24071sub1442550431:0))), o23327[LinkedList$Entry.next]o23325:0, o23329[LinkedList$Entry.next]o23327:0, o23327[LinkedList$Entry.next]o23329:0, o23329[LinkedList$Entry.next]o23325:0, o23326-1411542697:0) -> f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23326-1411542697:0, java.lang.Object(o23327sub-1411542697:0)))))))), java.lang.Object(o24071sub0:0), o23327[LinkedList$Entry.next]o23325:0, o24071[LinkedList$Entry.next]o23327:0, o23327[LinkedList$Entry.next]o24071:0, o24071[LinkedList$Entry.next]o23325:0, o23326-1411542697:0) :|: o23329[LinkedList$Entry.next]o23327:0 > 0 && o23327[LinkedList$Entry.next]o23329:0 > 0 && o23329[LinkedList$Entry.next]o23325:0 > -1 && o24071[LinkedList$Entry.next]o23325:0 < o23329[LinkedList$Entry.next]o23325:0 && o24071[LinkedList$Entry.next]o23327:0 < o23329[LinkedList$Entry.next]o23327:0 && o23327[LinkedList$Entry.next]o24071:0 > o23327[LinkedList$Entry.next]o23329:0 && o24071[LinkedList$Entry.next]o23325:0 > 0 37.14/11.39 f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x6, x5, x) -> f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), x8, x9, 1, x10, x) :|: x10 < x5 && x5 > -1 && x9 < x6 && x6 > -1 && x10 > 0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (92) IRSwTTerminationDigraphProof (EQUIVALENT) 37.14/11.39 Constructed termination digraph! 37.14/11.39 Nodes: 37.14/11.39 (1) f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23326-1411542697:0, java.lang.Object(o23327sub-1411542697:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24259sub1442550431:0), java.lang.Object(o24071sub1442550431:0))), o23327[LinkedList$Entry.next]o23325:0, o23329[LinkedList$Entry.next]o23327:0, o23327[LinkedList$Entry.next]o23329:0, o23329[LinkedList$Entry.next]o23325:0, o23326-1411542697:0) -> f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23326-1411542697:0, java.lang.Object(o23327sub-1411542697:0)))))))), java.lang.Object(o24071sub0:0), o23327[LinkedList$Entry.next]o23325:0, o24071[LinkedList$Entry.next]o23327:0, o23327[LinkedList$Entry.next]o24071:0, o24071[LinkedList$Entry.next]o23325:0, o23326-1411542697:0) :|: o23329[LinkedList$Entry.next]o23327:0 > 0 && o23327[LinkedList$Entry.next]o23329:0 > 0 && o23329[LinkedList$Entry.next]o23325:0 > -1 && o24071[LinkedList$Entry.next]o23325:0 < o23329[LinkedList$Entry.next]o23325:0 && o24071[LinkedList$Entry.next]o23327:0 < o23329[LinkedList$Entry.next]o23327:0 && o23327[LinkedList$Entry.next]o24071:0 > o23327[LinkedList$Entry.next]o23329:0 && o24071[LinkedList$Entry.next]o23325:0 > 0 37.14/11.39 (2) f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x6, x5, x) -> f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), x8, x9, 1, x10, x) :|: x10 < x5 && x5 > -1 && x9 < x6 && x6 > -1 && x10 > 0 37.14/11.39 37.14/11.39 Arcs: 37.14/11.39 (1) -> (1), (2) 37.14/11.39 (2) -> (1), (2) 37.14/11.39 37.14/11.39 This digraph is fully evaluated! 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (93) 37.14/11.39 Obligation: 37.14/11.39 37.14/11.39 Termination digraph: 37.14/11.39 Nodes: 37.14/11.39 (1) f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23326-1411542697:0, java.lang.Object(o23327sub-1411542697:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24259sub1442550431:0), java.lang.Object(o24071sub1442550431:0))), o23327[LinkedList$Entry.next]o23325:0, o23329[LinkedList$Entry.next]o23327:0, o23327[LinkedList$Entry.next]o23329:0, o23329[LinkedList$Entry.next]o23325:0, o23326-1411542697:0) -> f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23326-1411542697:0, java.lang.Object(o23327sub-1411542697:0)))))))), java.lang.Object(o24071sub0:0), o23327[LinkedList$Entry.next]o23325:0, o24071[LinkedList$Entry.next]o23327:0, o23327[LinkedList$Entry.next]o24071:0, o24071[LinkedList$Entry.next]o23325:0, o23326-1411542697:0) :|: o23329[LinkedList$Entry.next]o23327:0 > 0 && o23327[LinkedList$Entry.next]o23329:0 > 0 && o23329[LinkedList$Entry.next]o23325:0 > -1 && o24071[LinkedList$Entry.next]o23325:0 < o23329[LinkedList$Entry.next]o23325:0 && o24071[LinkedList$Entry.next]o23327:0 < o23329[LinkedList$Entry.next]o23327:0 && o23327[LinkedList$Entry.next]o24071:0 > o23327[LinkedList$Entry.next]o23329:0 && o24071[LinkedList$Entry.next]o23325:0 > 0 37.14/11.39 (2) f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x6, x5, x) -> f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), x8, x9, 1, x10, x) :|: x10 < x5 && x5 > -1 && x9 < x6 && x6 > -1 && x10 > 0 37.14/11.39 37.14/11.39 Arcs: 37.14/11.39 (1) -> (1), (2) 37.14/11.39 (2) -> (1), (2) 37.14/11.39 37.14/11.39 This digraph is fully evaluated! 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (94) IntTRSCompressionProof (EQUIVALENT) 37.14/11.39 Compressed rules. 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (95) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23326-1411542697:0:0, java.lang.Object(o23327sub-1411542697:0:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o24259sub1442550431:0:0), java.lang.Object(o24071sub1442550431:0:0))), o23327[LinkedList$Entry.next]o23325:0:0, o23329[LinkedList$Entry.next]o23327:0:0, o23327[LinkedList$Entry.next]o23329:0:0, o23329[LinkedList$Entry.next]o23325:0:0, o23326-1411542697:0:0) -> f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o23326-1411542697:0:0, java.lang.Object(o23327sub-1411542697:0:0)))))))), java.lang.Object(o24071sub0:0:0), o23327[LinkedList$Entry.next]o23325:0:0, o24071[LinkedList$Entry.next]o23327:0:0, o23327[LinkedList$Entry.next]o24071:0:0, o24071[LinkedList$Entry.next]o23325:0:0, o23326-1411542697:0:0) :|: o23327[LinkedList$Entry.next]o24071:0:0 > o23327[LinkedList$Entry.next]o23329:0:0 && o24071[LinkedList$Entry.next]o23325:0:0 > 0 && o24071[LinkedList$Entry.next]o23327:0:0 < o23329[LinkedList$Entry.next]o23327:0:0 && o24071[LinkedList$Entry.next]o23325:0:0 < o23329[LinkedList$Entry.next]o23325:0:0 && o23329[LinkedList$Entry.next]o23325:0:0 > -1 && o23327[LinkedList$Entry.next]o23329:0:0 > 0 && o23329[LinkedList$Entry.next]o23327:0:0 > 0 37.14/11.39 f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1:0), java.lang.Object(x2:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3:0), java.lang.Object(x4:0))), x5:0, x6:0, x6:0, x5:0, x:0) -> f8889_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1:0), java.lang.Object(x2:0)))))))))), java.lang.Object(x7:0), x8:0, x9:0, 1, x10:0, x:0) :|: x6:0 > -1 && x10:0 > 0 && x9:0 < x6:0 && x5:0 > -1 && x5:0 > x10:0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (96) TempFilterProof (SOUND) 37.14/11.39 Used the following sort dictionary for filtering: 37.14/11.39 f8889_0_indexOf_EQ(VARIABLE, VARIABLE, VARIABLE, INTEGER, VARIABLE, INTEGER, VARIABLE) 37.14/11.39 java.lang.Object(VARIABLE) 37.14/11.39 javaUtilEx.AbstractCollection(VARIABLE) 37.14/11.39 javaUtilEx.AbstractList(VARIABLE) 37.14/11.39 javaUtilEx.AbstractSequentialList(VARIABLE) 37.14/11.39 javaUtilEx.LinkedList(VARIABLE) 37.14/11.39 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 37.14/11.39 Replaced non-predefined constructor symbols by 0. 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (97) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8889_0_indexOf_EQ(c, c1, o23327[LinkedList$Entry.next]o23325:0:0, o23329[LinkedList$Entry.next]o23327:0:0, o23327[LinkedList$Entry.next]o23329:0:0, o23329[LinkedList$Entry.next]o23325:0:0, o23326-1411542697:0:0) -> f8889_0_indexOf_EQ(c2, c3, o23327[LinkedList$Entry.next]o23325:0:0, o24071[LinkedList$Entry.next]o23327:0:0, o23327[LinkedList$Entry.next]o24071:0:0, o24071[LinkedList$Entry.next]o23325:0:0, o23326-1411542697:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o23327[LinkedList$Entry.next]o24071:0:0 > o23327[LinkedList$Entry.next]o23329:0:0 && o24071[LinkedList$Entry.next]o23325:0:0 > 0 && o24071[LinkedList$Entry.next]o23327:0:0 < o23329[LinkedList$Entry.next]o23327:0:0 && o24071[LinkedList$Entry.next]o23325:0:0 < o23329[LinkedList$Entry.next]o23325:0:0 && o23329[LinkedList$Entry.next]o23325:0:0 > -1 && o23327[LinkedList$Entry.next]o23329:0:0 > 0 && o23329[LinkedList$Entry.next]o23327:0:0 > 0) 37.14/11.39 f8889_0_indexOf_EQ(c4, c5, x5:0, x6:0, x6:0, x5:0, x:0) -> f8889_0_indexOf_EQ(c6, c7, x8:0, x9:0, c8, x10:0, x:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x6:0 > -1 && x10:0 > 0 && x9:0 < x6:0 && x5:0 > -1 && x5:0 > x10:0) 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (98) PolynomialOrderProcessor (EQUIVALENT) 37.14/11.39 Found the following polynomial interpretation: 37.14/11.39 [f8889_0_indexOf_EQ(x, x1, x2, x3, x4, x5, x6)] = c*x + c1*x1 + x3 37.14/11.39 37.14/11.39 The following rules are decreasing: 37.14/11.39 f8889_0_indexOf_EQ(c, c1, o23327[LinkedList$Entry.next]o23325:0:0, o23329[LinkedList$Entry.next]o23327:0:0, o23327[LinkedList$Entry.next]o23329:0:0, o23329[LinkedList$Entry.next]o23325:0:0, o23326-1411542697:0:0) -> f8889_0_indexOf_EQ(c2, c3, o23327[LinkedList$Entry.next]o23325:0:0, o24071[LinkedList$Entry.next]o23327:0:0, o23327[LinkedList$Entry.next]o24071:0:0, o24071[LinkedList$Entry.next]o23325:0:0, o23326-1411542697:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o23327[LinkedList$Entry.next]o24071:0:0 > o23327[LinkedList$Entry.next]o23329:0:0 && o24071[LinkedList$Entry.next]o23325:0:0 > 0 && o24071[LinkedList$Entry.next]o23327:0:0 < o23329[LinkedList$Entry.next]o23327:0:0 && o24071[LinkedList$Entry.next]o23325:0:0 < o23329[LinkedList$Entry.next]o23325:0:0 && o23329[LinkedList$Entry.next]o23325:0:0 > -1 && o23327[LinkedList$Entry.next]o23329:0:0 > 0 && o23329[LinkedList$Entry.next]o23327:0:0 > 0) 37.14/11.39 f8889_0_indexOf_EQ(c4, c5, x5:0, x6:0, x6:0, x5:0, x:0) -> f8889_0_indexOf_EQ(c6, c7, x8:0, x9:0, c8, x10:0, x:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x6:0 > -1 && x10:0 > 0 && x9:0 < x6:0 && x5:0 > -1 && x5:0 > x10:0) 37.14/11.39 The following rules are bounded: 37.14/11.39 f8889_0_indexOf_EQ(c, c1, o23327[LinkedList$Entry.next]o23325:0:0, o23329[LinkedList$Entry.next]o23327:0:0, o23327[LinkedList$Entry.next]o23329:0:0, o23329[LinkedList$Entry.next]o23325:0:0, o23326-1411542697:0:0) -> f8889_0_indexOf_EQ(c2, c3, o23327[LinkedList$Entry.next]o23325:0:0, o24071[LinkedList$Entry.next]o23327:0:0, o23327[LinkedList$Entry.next]o24071:0:0, o24071[LinkedList$Entry.next]o23325:0:0, o23326-1411542697:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o23327[LinkedList$Entry.next]o24071:0:0 > o23327[LinkedList$Entry.next]o23329:0:0 && o24071[LinkedList$Entry.next]o23325:0:0 > 0 && o24071[LinkedList$Entry.next]o23327:0:0 < o23329[LinkedList$Entry.next]o23327:0:0 && o24071[LinkedList$Entry.next]o23325:0:0 < o23329[LinkedList$Entry.next]o23325:0:0 && o23329[LinkedList$Entry.next]o23325:0:0 > -1 && o23327[LinkedList$Entry.next]o23329:0:0 > 0 && o23329[LinkedList$Entry.next]o23327:0:0 > 0) 37.14/11.39 f8889_0_indexOf_EQ(c4, c5, x5:0, x6:0, x6:0, x5:0, x:0) -> f8889_0_indexOf_EQ(c6, c7, x8:0, x9:0, c8, x10:0, x:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x6:0 > -1 && x10:0 > 0 && x9:0 < x6:0 && x5:0 > -1 && x5:0 > x10:0) 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (99) 37.14/11.39 YES 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (100) 37.14/11.39 Obligation: 37.14/11.39 SCC of termination graph based on JBC Program. 37.14/11.39 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateContains.main([Ljava/lang/String;)V 37.14/11.39 SCC calls the following helper methods: 37.14/11.39 Performed SCC analyses: 37.14/11.39 *Used field analysis yielded the following read fields: 37.14/11.39 *javaUtilEx.LinkedList$Entry: [next] 37.14/11.39 *Marker field analysis yielded the following relations that could be markers: 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (101) SCCToIRSProof (SOUND) 37.14/11.39 Transformed FIGraph SCCs to intTRSs. Log: 37.14/11.39 Generated rules. Obtained 40 IRulesP rules: 37.14/11.39 f8033_0_entry_GT(EOS(STATIC_8033), i4133, i4622, i4622, i4133, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14256[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o14256, o14256[LinkedList$Entry.next]o14256) -> f8045_0_entry_Load(EOS(STATIC_8045), i4133, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14256[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o14256, o14256[LinkedList$Entry.next]o14256) :|: i4622 <= i4133 37.14/11.39 f8045_0_entry_Load(EOS(STATIC_8045), i4133, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14256[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o14256, o14256[LinkedList$Entry.next]o14256) -> f8083_0_entry_FieldAccess(EOS(STATIC_8083), i4133, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14256[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o14256, o14256[LinkedList$Entry.next]o14256) :|: TRUE 37.14/11.39 f8083_0_entry_FieldAccess(EOS(STATIC_8083), i4133, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14256[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o14256, o14256[LinkedList$Entry.next]o14256) -> f8099_0_entry_FieldAccess(EOS(STATIC_8099), i4133, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14258[LinkedList$Entry.next]o14256, o14256[LinkedList$Entry.next]o14256, o14256[LinkedList$Entry.next]o14258) :|: o14258[LinkedList$Entry.next]o14258 > 0 && o14258[LinkedList$Entry.previous]o14258 > 0 && o14256[LinkedList$Entry.next]o14258 > 0 && o14258[LinkedList$Entry.next]o14256 > 0 && o14256[LinkedList$Entry.next]o14256 > 0 37.14/11.39 f8083_0_entry_FieldAccess(EOS(STATIC_8083), i4133, i4622, o15497[LinkedList$Entry.next]o15497, o15497[LinkedList$Entry.previous]o15497, o15497[LinkedList$Entry.next]o15497, o15497[LinkedList$Entry.next]o15497, o15497[LinkedList$Entry.next]o15497) -> f8100_0_entry_FieldAccess(EOS(STATIC_8100), i4133, i4622, o15497[LinkedList$Entry.next]o15497, o15497[LinkedList$Entry.previous]o15497) :|: TRUE 37.14/11.39 f8099_0_entry_FieldAccess(EOS(STATIC_8099), i4133, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14258[LinkedList$Entry.next]o15634, o15634[LinkedList$Entry.next]o15634, o15634[LinkedList$Entry.next]o14258) -> f8120_0_entry_FieldAccess(EOS(STATIC_8120), i4133, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14258[LinkedList$Entry.next]o15634, o15636[LinkedList$Entry.next]o14258, o15636[LinkedList$Entry.next]o15634) :|: o15636[LinkedList$Entry.next]o15634 < o15634[LinkedList$Entry.next]o15634 && o15634[LinkedList$Entry.next]o15634 >= 0 && o15636[LinkedList$Entry.next]o14258 < o15634[LinkedList$Entry.next]o14258 && o15634[LinkedList$Entry.next]o14258 >= 0 37.14/11.39 f8120_0_entry_FieldAccess(EOS(STATIC_8120), i4133, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14258[LinkedList$Entry.next]o15634, o15636[LinkedList$Entry.next]o14258, o15636[LinkedList$Entry.next]o15634) -> f8144_0_entry_Store(EOS(STATIC_8144), i4133, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o15636[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o15636, o15636[LinkedList$Entry.next]o15636) :|: o14258[LinkedList$Entry.next]o15636 > o14258[LinkedList$Entry.next]o15634 && o14258[LinkedList$Entry.next]o15634 >= 0 && o15636[LinkedList$Entry.next]o15636 > o15636[LinkedList$Entry.next]o15634 && o15636[LinkedList$Entry.next]o15634 >= 0 37.14/11.39 f8144_0_entry_Store(EOS(STATIC_8144), i4133, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o15636[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o15636, o15636[LinkedList$Entry.next]o15636) -> f8166_0_entry_Inc(EOS(STATIC_8166), i4133, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o15636[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o15636, o15636[LinkedList$Entry.next]o15636) :|: TRUE 37.14/11.39 f8166_0_entry_Inc(EOS(STATIC_8166), i4133, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o15636[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o15636, o15636[LinkedList$Entry.next]o15636) -> f8190_0_entry_JMP(EOS(STATIC_8190), i4133, i4622 + 1, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o15636[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o15636, o15636[LinkedList$Entry.next]o15636) :|: TRUE 37.14/11.39 f8190_0_entry_JMP(EOS(STATIC_8190), i4133, i5122, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o15636[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o15636, o15636[LinkedList$Entry.next]o15636) -> f8213_0_entry_Load(EOS(STATIC_8213), i4133, i5122, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o15636[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o15636, o15636[LinkedList$Entry.next]o15636) :|: TRUE 37.14/11.39 f8213_0_entry_Load(EOS(STATIC_8213), i4133, i5122, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o15636[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o15636, o15636[LinkedList$Entry.next]o15636) -> f7987_0_entry_Load(EOS(STATIC_7987), i4133, i5122, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o15636[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o15636, o15636[LinkedList$Entry.next]o15636) :|: TRUE 37.14/11.39 f7987_0_entry_Load(EOS(STATIC_7987), i4133, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14256[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o14256, o14256[LinkedList$Entry.next]o14256) -> f8002_0_entry_Load(EOS(STATIC_8002), i4133, i4622, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14256[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o14256, o14256[LinkedList$Entry.next]o14256) :|: TRUE 37.14/11.39 f8002_0_entry_Load(EOS(STATIC_8002), i4133, i4622, i4622, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14256[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o14256, o14256[LinkedList$Entry.next]o14256) -> f8017_0_entry_GT(EOS(STATIC_8017), i4133, i4622, i4622, i4133, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14256[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o14256, o14256[LinkedList$Entry.next]o14256) :|: TRUE 37.14/11.39 f8017_0_entry_GT(EOS(STATIC_8017), i4133, i4622, i4622, i4133, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14256[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o14256, o14256[LinkedList$Entry.next]o14256) -> f8033_0_entry_GT(EOS(STATIC_8033), i4133, i4622, i4622, i4133, o14258[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.previous]o14258, o14256[LinkedList$Entry.next]o14258, o14258[LinkedList$Entry.next]o14256, o14256[LinkedList$Entry.next]o14256) :|: i4622 <= i4133 37.14/11.39 f8100_0_entry_FieldAccess(EOS(STATIC_8100), i4133, i4622, o15638[LinkedList$Entry.next]o15638, o15638[LinkedList$Entry.previous]o15638) -> f8121_0_entry_FieldAccess(EOS(STATIC_8121), i4133, i4622, o15640[LinkedList$Entry.next]o15638, o15641[LinkedList$Entry.previous]o15638) :|: o15640[LinkedList$Entry.next]o15638 < o15638[LinkedList$Entry.next]o15638 && o15638[LinkedList$Entry.next]o15638 >= 0 && o15641[LinkedList$Entry.previous]o15638 < o15638[LinkedList$Entry.previous]o15638 && o15638[LinkedList$Entry.previous]o15638 >= 0 37.14/11.39 f8121_0_entry_FieldAccess(EOS(STATIC_8121), i4133, i4622, o15640[LinkedList$Entry.next]o15638, o15641[LinkedList$Entry.previous]o15638) -> f8145_0_entry_FieldAccess(EOS(STATIC_8145), i4133, i4622, o15641[LinkedList$Entry.previous]o15638, o15640[LinkedList$Entry.next]o15638) :|: o15640[LinkedList$Entry.next]o15638 > 0 37.14/11.39 f8121_0_entry_FieldAccess(EOS(STATIC_8121), i4133, i4622, o15640[LinkedList$Entry.next]o15815, o15641[LinkedList$Entry.previous]o15815) -> f8146_0_entry_FieldAccess(EOS(STATIC_8146), i4133, i4622, o15641[LinkedList$Entry.previous]o15815) :|: TRUE 37.14/11.39 f8145_0_entry_FieldAccess(EOS(STATIC_8145), i4133, i4622, o15641[LinkedList$Entry.previous]o15638, o15640[LinkedList$Entry.next]o15638) -> f8167_0_entry_FieldAccess(EOS(STATIC_8167), i4133, i4622, o15640[LinkedList$Entry.next]o15638, o15641[LinkedList$Entry.previous]o15638) :|: o15641[LinkedList$Entry.previous]o15638 > 0 37.14/11.39 f8145_0_entry_FieldAccess(EOS(STATIC_8145), i4133, i4622, o15641[LinkedList$Entry.previous]o16001, o15640[LinkedList$Entry.next]o16001) -> f8168_0_entry_FieldAccess(EOS(STATIC_8168), i4133, i4622, o15640[LinkedList$Entry.next]o16001) :|: TRUE 37.14/11.39 f8167_0_entry_FieldAccess(EOS(STATIC_8167), i4133, i4622, o15640[LinkedList$Entry.next]o15638, o15641[LinkedList$Entry.previous]o15638) -> f8191_0_entry_Store(EOS(STATIC_8191), i4133, i4622, o15640[LinkedList$Entry.next]o15638, o15641[LinkedList$Entry.previous]o15638) :|: TRUE 37.14/11.39 f8191_0_entry_Store(EOS(STATIC_8191), i4133, i4622, o15640[LinkedList$Entry.next]o15638, o15641[LinkedList$Entry.previous]o15638) -> f8214_0_entry_Inc(EOS(STATIC_8214), i4133, i4622, o15640[LinkedList$Entry.next]o15638, o15641[LinkedList$Entry.previous]o15638) :|: TRUE 37.14/11.39 f8214_0_entry_Inc(EOS(STATIC_8214), i4133, i4622, o15640[LinkedList$Entry.next]o15638, o15641[LinkedList$Entry.previous]o15638) -> f8234_0_entry_JMP(EOS(STATIC_8234), i4133, i4622 + 1, o15640[LinkedList$Entry.next]o15638, o15641[LinkedList$Entry.previous]o15638) :|: TRUE 37.14/11.39 f8234_0_entry_JMP(EOS(STATIC_8234), i4133, i5240, o15640[LinkedList$Entry.next]o15638, o15641[LinkedList$Entry.previous]o15638) -> f8251_0_entry_Load(EOS(STATIC_8251), i4133, i5240, o15640[LinkedList$Entry.next]o15638, o15641[LinkedList$Entry.previous]o15638) :|: TRUE 37.14/11.39 f8251_0_entry_Load(EOS(STATIC_8251), i4133, i5240, o15640[LinkedList$Entry.next]o15638, o15641[LinkedList$Entry.previous]o15638) -> f7987_0_entry_Load(EOS(STATIC_7987), i4133, i5240, o15638[LinkedList$Entry.next]o15638, o15638[LinkedList$Entry.previous]o15638, o15640[LinkedList$Entry.next]o15638, o15638[LinkedList$Entry.next]o15640, o15640[LinkedList$Entry.next]o15640) :|: o15638[LinkedList$Entry.next]o15640 = 1 37.14/11.39 f8168_0_entry_FieldAccess(EOS(STATIC_8168), i4133, i4622, o15640[LinkedList$Entry.next]o16001) -> f8192_0_entry_Store(EOS(STATIC_8192), i4133, i4622, o15640[LinkedList$Entry.next]o16001) :|: TRUE 37.14/11.39 f8192_0_entry_Store(EOS(STATIC_8192), i4133, i4622, o15640[LinkedList$Entry.next]o16001) -> f8215_0_entry_Inc(EOS(STATIC_8215), i4133, i4622, o15640[LinkedList$Entry.next]o16001) :|: TRUE 37.14/11.39 f8215_0_entry_Inc(EOS(STATIC_8215), i4133, i4622, o15640[LinkedList$Entry.next]o16001) -> f8235_0_entry_JMP(EOS(STATIC_8235), i4133, i4622 + 1, o15640[LinkedList$Entry.next]o16001) :|: TRUE 37.14/11.39 f8235_0_entry_JMP(EOS(STATIC_8235), i4133, i5242, o15640[LinkedList$Entry.next]o16001) -> f8252_0_entry_Load(EOS(STATIC_8252), i4133, i5242, o15640[LinkedList$Entry.next]o16001) :|: TRUE 37.14/11.39 f8252_0_entry_Load(EOS(STATIC_8252), i4133, i5242, o15640[LinkedList$Entry.next]o16001) -> f7987_0_entry_Load(EOS(STATIC_7987), i4133, i5242, o16001[LinkedList$Entry.next]o16001, o16001[LinkedList$Entry.previous]o16001, o15640[LinkedList$Entry.next]o16001, o16001[LinkedList$Entry.next]o15640, o15640[LinkedList$Entry.next]o15640) :|: o16001[LinkedList$Entry.previous]o16001 = 1 && o16001[LinkedList$Entry.next]o15640 = 1 37.14/11.39 f8146_0_entry_FieldAccess(EOS(STATIC_8146), i4133, i4622, o15641[LinkedList$Entry.previous]o15815) -> f8169_0_entry_FieldAccess(EOS(STATIC_8169), i4133, i4622, o15641[LinkedList$Entry.previous]o15815) :|: o15641[LinkedList$Entry.previous]o15815 > 0 37.14/11.39 f8146_0_entry_FieldAccess(EOS(STATIC_8146), i4133, i4622, o15641[LinkedList$Entry.previous]o16004) -> f8170_0_entry_FieldAccess(EOS(STATIC_8170), i4133, i4622) :|: TRUE 37.14/11.39 f8169_0_entry_FieldAccess(EOS(STATIC_8169), i4133, i4622, o15641[LinkedList$Entry.previous]o15815) -> f8193_0_entry_Store(EOS(STATIC_8193), i4133, i4622, o15641[LinkedList$Entry.previous]o15815) :|: TRUE 37.14/11.39 f8193_0_entry_Store(EOS(STATIC_8193), i4133, i4622, o15641[LinkedList$Entry.previous]o15815) -> f8216_0_entry_Inc(EOS(STATIC_8216), i4133, i4622, o15641[LinkedList$Entry.previous]o15815) :|: TRUE 37.14/11.39 f8216_0_entry_Inc(EOS(STATIC_8216), i4133, i4622, o15641[LinkedList$Entry.previous]o15815) -> f8236_0_entry_JMP(EOS(STATIC_8236), i4133, i4622 + 1, o15641[LinkedList$Entry.previous]o15815) :|: TRUE 37.14/11.39 f8236_0_entry_JMP(EOS(STATIC_8236), i4133, i5245, o15641[LinkedList$Entry.previous]o15815) -> f8253_0_entry_Load(EOS(STATIC_8253), i4133, i5245, o15641[LinkedList$Entry.previous]o15815) :|: TRUE 37.14/11.39 f8253_0_entry_Load(EOS(STATIC_8253), i4133, i5245, o15641[LinkedList$Entry.previous]o15815) -> f7987_0_entry_Load(EOS(STATIC_7987), i4133, i5245, o15815[LinkedList$Entry.next]o15815, o15815[LinkedList$Entry.previous]o15815, o15815[LinkedList$Entry.next]o15815, o15815[LinkedList$Entry.next]o15815, o15815[LinkedList$Entry.next]o15815) :|: o15815[LinkedList$Entry.next]o15815 = 1 && o15815[LinkedList$Entry.next]o15815 = 1 && o15815[LinkedList$Entry.next]o15815 = 1 && o15815[LinkedList$Entry.next]o15815 = 1 37.14/11.39 f8170_0_entry_FieldAccess(EOS(STATIC_8170), i4133, i4622) -> f8194_0_entry_Store(EOS(STATIC_8194), i4133, i4622) :|: TRUE 37.14/11.39 f8194_0_entry_Store(EOS(STATIC_8194), i4133, i4622) -> f8217_0_entry_Inc(EOS(STATIC_8217), i4133, i4622) :|: TRUE 37.14/11.39 f8217_0_entry_Inc(EOS(STATIC_8217), i4133, i4622) -> f8237_0_entry_JMP(EOS(STATIC_8237), i4133, i4622 + 1) :|: TRUE 37.14/11.39 f8237_0_entry_JMP(EOS(STATIC_8237), i4133, i5246) -> f8254_0_entry_Load(EOS(STATIC_8254), i4133, i5246) :|: TRUE 37.14/11.39 f8254_0_entry_Load(EOS(STATIC_8254), i4133, i5246) -> f7987_0_entry_Load(EOS(STATIC_7987), i4133, i5246, o16004[LinkedList$Entry.next]o16004, o16004[LinkedList$Entry.previous]o16004, o16004[LinkedList$Entry.next]o16004, o16004[LinkedList$Entry.next]o16004, o16004[LinkedList$Entry.next]o16004) :|: o16004[LinkedList$Entry.next]o16004 = 1 && o16004[LinkedList$Entry.previous]o16004 = 1 && o16004[LinkedList$Entry.next]o16004 = 1 && o16004[LinkedList$Entry.next]o16004 = 1 && o16004[LinkedList$Entry.next]o16004 = 1 37.14/11.39 Combined rules. Obtained 5 IRulesP rules: 37.14/11.39 f8033_0_entry_GT(EOS(STATIC_8033), i4133:0, i4622:0, i4622:0, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0) -> f8033_0_entry_GT(EOS(STATIC_8033), i4133:0, i4622:0 + 1, i4622:0 + 1, i4133:0, 1, o15815[LinkedList$Entry.previous]o15815:0, 1, 1, 1) :|: i4622:0 + 1 <= i4133:0 && o14258[LinkedList$Entry.next]o14258:0 > -1 && o15640[LinkedList$Entry.next]o15638:0 < o14258[LinkedList$Entry.next]o14258:0 && o15641[LinkedList$Entry.previous]o15638:0 < o14258[LinkedList$Entry.previous]o14258:0 && o15641[LinkedList$Entry.previous]o15638:0 > 0 && o14258[LinkedList$Entry.previous]o14258:0 > -1 37.14/11.39 f8033_0_entry_GT(EOS(STATIC_8033), i4133:0, i4622:0, i4622:0, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0) -> f8033_0_entry_GT(EOS(STATIC_8033), i4133:0, i4622:0 + 1, i4622:0 + 1, i4133:0, 1, 1, 1, 1, 1) :|: i4622:0 + 1 <= i4133:0 && o14258[LinkedList$Entry.next]o14258:0 > -1 && o15640[LinkedList$Entry.next]o15638:0 < o14258[LinkedList$Entry.next]o14258:0 && o14258[LinkedList$Entry.previous]o14258:0 > -1 && o15641[LinkedList$Entry.previous]o15638:0 < o14258[LinkedList$Entry.previous]o14258:0 37.14/11.39 f8033_0_entry_GT(EOS(STATIC_8033), i4133:0, i4622:0, i4622:0, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0) -> f8033_0_entry_GT(EOS(STATIC_8033), i4133:0, i4622:0 + 1, i4622:0 + 1, i4133:0, o16001[LinkedList$Entry.next]o16001:0, 1, o15640[LinkedList$Entry.next]o15638:0, 1, o15640[LinkedList$Entry.next]o15640:0) :|: i4622:0 + 1 <= i4133:0 && o14258[LinkedList$Entry.next]o14258:0 > -1 && o15640[LinkedList$Entry.next]o15638:0 < o14258[LinkedList$Entry.next]o14258:0 && o15641[LinkedList$Entry.previous]o15638:0 < o14258[LinkedList$Entry.previous]o14258:0 && o15640[LinkedList$Entry.next]o15638:0 > 0 && o14258[LinkedList$Entry.previous]o14258:0 > -1 37.14/11.39 f8033_0_entry_GT(EOS(STATIC_8033), i4133:0, i4622:0, i4622:0, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o14256[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14256:0, o14256[LinkedList$Entry.next]o14256:0) -> f8033_0_entry_GT(EOS(STATIC_8033), i4133:0, i4622:0 + 1, i4622:0 + 1, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o15636[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o15636:0, o15636[LinkedList$Entry.next]o15636:0) :|: o14256[LinkedList$Entry.next]o14258:0 > 0 && o14258[LinkedList$Entry.next]o14256:0 > 0 && o14256[LinkedList$Entry.next]o14256:0 > 0 && i4622:0 + 1 <= i4133:0 && o14258[LinkedList$Entry.previous]o14258:0 > 0 && o14258[LinkedList$Entry.next]o14258:0 > 0 && o15636[LinkedList$Entry.next]o15634:0 < o14256[LinkedList$Entry.next]o14256:0 && o14258[LinkedList$Entry.next]o15636:0 > o14258[LinkedList$Entry.next]o14256:0 && o15636[LinkedList$Entry.next]o14258:0 < o14256[LinkedList$Entry.next]o14258:0 && o15636[LinkedList$Entry.next]o15634:0 > -1 && o15636[LinkedList$Entry.next]o15636:0 > o15636[LinkedList$Entry.next]o15634:0 37.14/11.39 f8033_0_entry_GT(EOS(STATIC_8033), i4133:0, i4622:0, i4622:0, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0) -> f8033_0_entry_GT(EOS(STATIC_8033), i4133:0, i4622:0 + 1, i4622:0 + 1, i4133:0, o15638[LinkedList$Entry.next]o15638:0, o15638[LinkedList$Entry.previous]o15638:0, o15640[LinkedList$Entry.next]o15638:0, 1, o15640[LinkedList$Entry.next]o15640:0) :|: i4622:0 + 1 <= i4133:0 && o14258[LinkedList$Entry.next]o14258:0 > -1 && o15640[LinkedList$Entry.next]o15638:0 < o14258[LinkedList$Entry.next]o14258:0 && o15641[LinkedList$Entry.previous]o15638:0 < o14258[LinkedList$Entry.previous]o14258:0 && o14258[LinkedList$Entry.previous]o14258:0 > -1 && o15641[LinkedList$Entry.previous]o15638:0 > 0 && o15640[LinkedList$Entry.next]o15638:0 > 0 37.14/11.39 Filtered constant ground arguments: 37.14/11.39 f8033_0_entry_GT(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f8033_0_entry_GT(x2, x3, x4, x5, x6, x7, x8, x9, x10) 37.14/11.39 EOS(x1) -> EOS 37.14/11.39 Filtered duplicate arguments: 37.14/11.39 f8033_0_entry_GT(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f8033_0_entry_GT(x3, x4, x5, x6, x7, x8, x9) 37.14/11.39 Finished conversion. Obtained 5 rules.P rules: 37.14/11.39 f8033_0_entry_GT(i4622:0, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0) -> f8033_0_entry_GT(i4622:0 + 1, i4133:0, 1, o15815[LinkedList$Entry.previous]o15815:0, 1, 1, 1) :|: o14258[LinkedList$Entry.next]o14258:0 > -1 && i4622:0 + 1 <= i4133:0 && o15640[LinkedList$Entry.next]o15638:0 < o14258[LinkedList$Entry.next]o14258:0 && o15641[LinkedList$Entry.previous]o15638:0 < o14258[LinkedList$Entry.previous]o14258:0 && o14258[LinkedList$Entry.previous]o14258:0 > -1 && o15641[LinkedList$Entry.previous]o15638:0 > 0 37.14/11.39 f8033_0_entry_GT(i4622:0, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0) -> f8033_0_entry_GT(i4622:0 + 1, i4133:0, 1, 1, 1, 1, 1) :|: o14258[LinkedList$Entry.next]o14258:0 > -1 && i4622:0 + 1 <= i4133:0 && o15640[LinkedList$Entry.next]o15638:0 < o14258[LinkedList$Entry.next]o14258:0 && o15641[LinkedList$Entry.previous]o15638:0 < o14258[LinkedList$Entry.previous]o14258:0 && o14258[LinkedList$Entry.previous]o14258:0 > -1 37.14/11.39 f8033_0_entry_GT(i4622:0, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0) -> f8033_0_entry_GT(i4622:0 + 1, i4133:0, o16001[LinkedList$Entry.next]o16001:0, 1, o15640[LinkedList$Entry.next]o15638:0, 1, o15640[LinkedList$Entry.next]o15640:0) :|: o14258[LinkedList$Entry.next]o14258:0 > -1 && i4622:0 + 1 <= i4133:0 && o15640[LinkedList$Entry.next]o15638:0 < o14258[LinkedList$Entry.next]o14258:0 && o15641[LinkedList$Entry.previous]o15638:0 < o14258[LinkedList$Entry.previous]o14258:0 && o14258[LinkedList$Entry.previous]o14258:0 > -1 && o15640[LinkedList$Entry.next]o15638:0 > 0 37.14/11.39 f8033_0_entry_GT(i4622:0, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o14256[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14256:0, o14256[LinkedList$Entry.next]o14256:0) -> f8033_0_entry_GT(i4622:0 + 1, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o15636[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o15636:0, o15636[LinkedList$Entry.next]o15636:0) :|: o14258[LinkedList$Entry.next]o14256:0 > 0 && o14256[LinkedList$Entry.next]o14258:0 > 0 && o14256[LinkedList$Entry.next]o14256:0 > 0 && i4622:0 + 1 <= i4133:0 && o14258[LinkedList$Entry.previous]o14258:0 > 0 && o14258[LinkedList$Entry.next]o14258:0 > 0 && o15636[LinkedList$Entry.next]o15634:0 < o14256[LinkedList$Entry.next]o14256:0 && o14258[LinkedList$Entry.next]o15636:0 > o14258[LinkedList$Entry.next]o14256:0 && o15636[LinkedList$Entry.next]o14258:0 < o14256[LinkedList$Entry.next]o14258:0 && o15636[LinkedList$Entry.next]o15636:0 > o15636[LinkedList$Entry.next]o15634:0 && o15636[LinkedList$Entry.next]o15634:0 > -1 37.14/11.39 f8033_0_entry_GT(i4622:0, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0) -> f8033_0_entry_GT(i4622:0 + 1, i4133:0, o15638[LinkedList$Entry.next]o15638:0, o15638[LinkedList$Entry.previous]o15638:0, o15640[LinkedList$Entry.next]o15638:0, 1, o15640[LinkedList$Entry.next]o15640:0) :|: o14258[LinkedList$Entry.next]o14258:0 > -1 && i4622:0 + 1 <= i4133:0 && o15640[LinkedList$Entry.next]o15638:0 < o14258[LinkedList$Entry.next]o14258:0 && o15641[LinkedList$Entry.previous]o15638:0 < o14258[LinkedList$Entry.previous]o14258:0 && o14258[LinkedList$Entry.previous]o14258:0 > -1 && o15640[LinkedList$Entry.next]o15638:0 > 0 && o15641[LinkedList$Entry.previous]o15638:0 > 0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (102) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8033_0_entry_GT(i4622:0, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0) -> f8033_0_entry_GT(i4622:0 + 1, i4133:0, 1, o15815[LinkedList$Entry.previous]o15815:0, 1, 1, 1) :|: o14258[LinkedList$Entry.next]o14258:0 > -1 && i4622:0 + 1 <= i4133:0 && o15640[LinkedList$Entry.next]o15638:0 < o14258[LinkedList$Entry.next]o14258:0 && o15641[LinkedList$Entry.previous]o15638:0 < o14258[LinkedList$Entry.previous]o14258:0 && o14258[LinkedList$Entry.previous]o14258:0 > -1 && o15641[LinkedList$Entry.previous]o15638:0 > 0 37.14/11.39 f8033_0_entry_GT(x, x1, x2, x3, x2, x2, x2) -> f8033_0_entry_GT(x + 1, x1, 1, 1, 1, 1, 1) :|: x2 > -1 && x + 1 <= x1 && x4 < x2 && x5 < x3 && x3 > -1 37.14/11.39 f8033_0_entry_GT(x6, x7, x8, x9, x8, x8, x8) -> f8033_0_entry_GT(x6 + 1, x7, x10, 1, x11, 1, x12) :|: x8 > -1 && x6 + 1 <= x7 && x11 < x8 && x13 < x9 && x9 > -1 && x11 > 0 37.14/11.39 f8033_0_entry_GT(x14, x15, x16, x17, x18, x19, x20) -> f8033_0_entry_GT(x14 + 1, x15, x16, x17, x21, x22, x23) :|: x19 > 0 && x18 > 0 && x20 > 0 && x14 + 1 <= x15 && x17 > 0 && x16 > 0 && x24 < x20 && x22 > x19 && x21 < x18 && x23 > x24 && x24 > -1 37.14/11.39 f8033_0_entry_GT(x25, x26, x27, x28, x27, x27, x27) -> f8033_0_entry_GT(x25 + 1, x26, x29, x30, x31, 1, x32) :|: x27 > -1 && x25 + 1 <= x26 && x31 < x27 && x33 < x28 && x28 > -1 && x31 > 0 && x33 > 0 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (103) IRSFormatTransformerProof (EQUIVALENT) 37.14/11.39 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (104) 37.14/11.39 Obligation: 37.14/11.39 Rules: 37.14/11.39 f8033_0_entry_GT(i4622:0, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0) -> f8033_0_entry_GT(arith, i4133:0, 1, o15815[LinkedList$Entry.previous]o15815:0, 1, 1, 1) :|: o14258[LinkedList$Entry.next]o14258:0 > -1 && i4622:0 + 1 <= i4133:0 && o15640[LinkedList$Entry.next]o15638:0 < o14258[LinkedList$Entry.next]o14258:0 && o15641[LinkedList$Entry.previous]o15638:0 < o14258[LinkedList$Entry.previous]o14258:0 && o14258[LinkedList$Entry.previous]o14258:0 > -1 && o15641[LinkedList$Entry.previous]o15638:0 > 0 && arith = i4622:0 + 1 37.14/11.39 f8033_0_entry_GT(x34, x35, x36, x37, x36, x36, x36) -> f8033_0_entry_GT(x38, x35, 1, 1, 1, 1, 1) :|: x36 > -1 && x34 + 1 <= x35 && x39 < x36 && x40 < x37 && x37 > -1 && x38 = x34 + 1 37.14/11.39 f8033_0_entry_GT(x41, x42, x43, x44, x43, x43, x43) -> f8033_0_entry_GT(x45, x42, x46, 1, x47, 1, x48) :|: x43 > -1 && x41 + 1 <= x42 && x47 < x43 && x49 < x44 && x44 > -1 && x47 > 0 && x45 = x41 + 1 37.14/11.39 f8033_0_entry_GT(x50, x51, x52, x53, x54, x55, x56) -> f8033_0_entry_GT(x57, x51, x52, x53, x58, x59, x60) :|: x55 > 0 && x54 > 0 && x56 > 0 && x50 + 1 <= x51 && x53 > 0 && x52 > 0 && x61 < x56 && x59 > x55 && x58 < x54 && x60 > x61 && x61 > -1 && x57 = x50 + 1 37.14/11.39 f8033_0_entry_GT(x62, x63, x64, x65, x64, x64, x64) -> f8033_0_entry_GT(x66, x63, x67, x68, x69, 1, x70) :|: x64 > -1 && x62 + 1 <= x63 && x69 < x64 && x71 < x65 && x65 > -1 && x69 > 0 && x71 > 0 && x66 = x62 + 1 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (105) IRSwTTerminationDigraphProof (EQUIVALENT) 37.14/11.39 Constructed termination digraph! 37.14/11.39 Nodes: 37.14/11.39 (1) f8033_0_entry_GT(i4622:0, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0) -> f8033_0_entry_GT(arith, i4133:0, 1, o15815[LinkedList$Entry.previous]o15815:0, 1, 1, 1) :|: o14258[LinkedList$Entry.next]o14258:0 > -1 && i4622:0 + 1 <= i4133:0 && o15640[LinkedList$Entry.next]o15638:0 < o14258[LinkedList$Entry.next]o14258:0 && o15641[LinkedList$Entry.previous]o15638:0 < o14258[LinkedList$Entry.previous]o14258:0 && o14258[LinkedList$Entry.previous]o14258:0 > -1 && o15641[LinkedList$Entry.previous]o15638:0 > 0 && arith = i4622:0 + 1 37.14/11.39 (2) f8033_0_entry_GT(x34, x35, x36, x37, x36, x36, x36) -> f8033_0_entry_GT(x38, x35, 1, 1, 1, 1, 1) :|: x36 > -1 && x34 + 1 <= x35 && x39 < x36 && x40 < x37 && x37 > -1 && x38 = x34 + 1 37.14/11.39 (3) f8033_0_entry_GT(x41, x42, x43, x44, x43, x43, x43) -> f8033_0_entry_GT(x45, x42, x46, 1, x47, 1, x48) :|: x43 > -1 && x41 + 1 <= x42 && x47 < x43 && x49 < x44 && x44 > -1 && x47 > 0 && x45 = x41 + 1 37.14/11.39 (4) f8033_0_entry_GT(x50, x51, x52, x53, x54, x55, x56) -> f8033_0_entry_GT(x57, x51, x52, x53, x58, x59, x60) :|: x55 > 0 && x54 > 0 && x56 > 0 && x50 + 1 <= x51 && x53 > 0 && x52 > 0 && x61 < x56 && x59 > x55 && x58 < x54 && x60 > x61 && x61 > -1 && x57 = x50 + 1 37.14/11.39 (5) f8033_0_entry_GT(x62, x63, x64, x65, x64, x64, x64) -> f8033_0_entry_GT(x66, x63, x67, x68, x69, 1, x70) :|: x64 > -1 && x62 + 1 <= x63 && x69 < x64 && x71 < x65 && x65 > -1 && x69 > 0 && x71 > 0 && x66 = x62 + 1 37.14/11.39 37.14/11.39 Arcs: 37.14/11.39 (1) -> (1), (2), (4) 37.14/11.39 (2) -> (2), (4) 37.14/11.39 (3) -> (2), (4) 37.14/11.39 (4) -> (1), (2), (3), (4), (5) 37.14/11.39 (5) -> (1), (2), (4) 37.14/11.39 37.14/11.39 This digraph is fully evaluated! 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (106) 37.14/11.39 Obligation: 37.14/11.39 37.14/11.39 Termination digraph: 37.14/11.39 Nodes: 37.14/11.39 (1) f8033_0_entry_GT(i4622:0, i4133:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.previous]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0, o14258[LinkedList$Entry.next]o14258:0) -> f8033_0_entry_GT(arith, i4133:0, 1, o15815[LinkedList$Entry.previous]o15815:0, 1, 1, 1) :|: o14258[LinkedList$Entry.next]o14258:0 > -1 && i4622:0 + 1 <= i4133:0 && o15640[LinkedList$Entry.next]o15638:0 < o14258[LinkedList$Entry.next]o14258:0 && o15641[LinkedList$Entry.previous]o15638:0 < o14258[LinkedList$Entry.previous]o14258:0 && o14258[LinkedList$Entry.previous]o14258:0 > -1 && o15641[LinkedList$Entry.previous]o15638:0 > 0 && arith = i4622:0 + 1 37.14/11.39 (2) f8033_0_entry_GT(x50, x51, x52, x53, x54, x55, x56) -> f8033_0_entry_GT(x57, x51, x52, x53, x58, x59, x60) :|: x55 > 0 && x54 > 0 && x56 > 0 && x50 + 1 <= x51 && x53 > 0 && x52 > 0 && x61 < x56 && x59 > x55 && x58 < x54 && x60 > x61 && x61 > -1 && x57 = x50 + 1 37.14/11.39 (3) f8033_0_entry_GT(x34, x35, x36, x37, x36, x36, x36) -> f8033_0_entry_GT(x38, x35, 1, 1, 1, 1, 1) :|: x36 > -1 && x34 + 1 <= x35 && x39 < x36 && x40 < x37 && x37 > -1 && x38 = x34 + 1 37.14/11.39 (4) f8033_0_entry_GT(x62, x63, x64, x65, x64, x64, x64) -> f8033_0_entry_GT(x66, x63, x67, x68, x69, 1, x70) :|: x64 > -1 && x62 + 1 <= x63 && x69 < x64 && x71 < x65 && x65 > -1 && x69 > 0 && x71 > 0 && x66 = x62 + 1 37.14/11.39 (5) f8033_0_entry_GT(x41, x42, x43, x44, x43, x43, x43) -> f8033_0_entry_GT(x45, x42, x46, 1, x47, 1, x48) :|: x43 > -1 && x41 + 1 <= x42 && x47 < x43 && x49 < x44 && x44 > -1 && x47 > 0 && x45 = x41 + 1 37.14/11.39 37.14/11.39 Arcs: 37.14/11.39 (1) -> (1), (2), (3) 37.14/11.39 (2) -> (1), (2), (3), (4), (5) 37.14/11.39 (3) -> (2), (3) 37.14/11.39 (4) -> (1), (2), (3) 37.14/11.39 (5) -> (2), (3) 37.14/11.39 37.14/11.39 This digraph is fully evaluated! 37.14/11.39 37.14/11.39 ---------------------------------------- 37.14/11.39 37.14/11.39 (107) IntTRSCompressionProof (EQUIVALENT) 37.14/11.40 Compressed rules. 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (108) 37.14/11.40 Obligation: 37.14/11.40 Rules: 37.14/11.40 f8033_0_entry_GT(i4622:0:0, i4133:0:0, o14258[LinkedList$Entry.next]o14258:0:0, o14258[LinkedList$Entry.previous]o14258:0:0, o14258[LinkedList$Entry.next]o14258:0:0, o14258[LinkedList$Entry.next]o14258:0:0, o14258[LinkedList$Entry.next]o14258:0:0) -> f8033_0_entry_GT(i4622:0:0 + 1, i4133:0:0, 1, o15815[LinkedList$Entry.previous]o15815:0:0, 1, 1, 1) :|: o14258[LinkedList$Entry.previous]o14258:0:0 > -1 && o15641[LinkedList$Entry.previous]o15638:0:0 > 0 && o15641[LinkedList$Entry.previous]o15638:0:0 < o14258[LinkedList$Entry.previous]o14258:0:0 && o15640[LinkedList$Entry.next]o15638:0:0 < o14258[LinkedList$Entry.next]o14258:0:0 && i4622:0:0 + 1 <= i4133:0:0 && o14258[LinkedList$Entry.next]o14258:0:0 > -1 37.14/11.40 f8033_0_entry_GT(x34:0, x35:0, x36:0, x37:0, x36:0, x36:0, x36:0) -> f8033_0_entry_GT(x34:0 + 1, x35:0, 1, 1, 1, 1, 1) :|: x40:0 < x37:0 && x37:0 > -1 && x39:0 < x36:0 && x35:0 >= x34:0 + 1 && x36:0 > -1 37.14/11.40 f8033_0_entry_GT(x62:0, x63:0, x64:0, x65:0, x64:0, x64:0, x64:0) -> f8033_0_entry_GT(x62:0 + 1, x63:0, x67:0, x68:0, x69:0, 1, x70:0) :|: x69:0 > 0 && x71:0 > 0 && x65:0 > -1 && x71:0 < x65:0 && x69:0 < x64:0 && x63:0 >= x62:0 + 1 && x64:0 > -1 37.14/11.40 f8033_0_entry_GT(x50:0, x51:0, x52:0, x53:0, x54:0, x55:0, x56:0) -> f8033_0_entry_GT(x50:0 + 1, x51:0, x52:0, x53:0, x58:0, x59:0, x60:0) :|: x61:0 < x60:0 && x61:0 > -1 && x58:0 < x54:0 && x59:0 > x55:0 && x61:0 < x56:0 && x52:0 > 0 && x53:0 > 0 && x51:0 >= x50:0 + 1 && x56:0 > 0 && x54:0 > 0 && x55:0 > 0 37.14/11.40 f8033_0_entry_GT(x41:0, x42:0, x43:0, x44:0, x43:0, x43:0, x43:0) -> f8033_0_entry_GT(x41:0 + 1, x42:0, x46:0, 1, x47:0, 1, x48:0) :|: x44:0 > -1 && x47:0 > 0 && x49:0 < x44:0 && x47:0 < x43:0 && x42:0 >= x41:0 + 1 && x43:0 > -1 37.14/11.40 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (109) TempFilterProof (SOUND) 37.14/11.40 Used the following sort dictionary for filtering: 37.14/11.40 f8033_0_entry_GT(INTEGER, INTEGER, VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE) 37.14/11.40 Replaced non-predefined constructor symbols by 0. 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (110) 37.14/11.40 Obligation: 37.14/11.40 Rules: 37.14/11.40 f8033_0_entry_GT(i4622:0:0, i4133:0:0, o14258[LinkedList$Entry.next]o14258:0:0, o14258[LinkedList$Entry.previous]o14258:0:0, o14258[LinkedList$Entry.next]o14258:0:0, o14258[LinkedList$Entry.next]o14258:0:0, o14258[LinkedList$Entry.next]o14258:0:0) -> f8033_0_entry_GT(c, i4133:0:0, c1, o15815[LinkedList$Entry.previous]o15815:0:0, c2, c3, c4) :|: c4 = 1 && (c3 = 1 && (c2 = 1 && (c1 = 1 && c = i4622:0:0 + 1))) && (o14258[LinkedList$Entry.previous]o14258:0:0 > -1 && o15641[LinkedList$Entry.previous]o15638:0:0 > 0 && o15641[LinkedList$Entry.previous]o15638:0:0 < o14258[LinkedList$Entry.previous]o14258:0:0 && o15640[LinkedList$Entry.next]o15638:0:0 < o14258[LinkedList$Entry.next]o14258:0:0 && i4622:0:0 + 1 <= i4133:0:0 && o14258[LinkedList$Entry.next]o14258:0:0 > -1) 37.14/11.40 f8033_0_entry_GT(x34:0, x35:0, x36:0, x37:0, x36:0, x36:0, x36:0) -> f8033_0_entry_GT(c5, x35:0, c6, c7, c8, c9, c10) :|: c10 = 1 && (c9 = 1 && (c8 = 1 && (c7 = 1 && (c6 = 1 && c5 = x34:0 + 1)))) && (x40:0 < x37:0 && x37:0 > -1 && x39:0 < x36:0 && x35:0 >= x34:0 + 1 && x36:0 > -1) 37.14/11.40 f8033_0_entry_GT(x62:0, x63:0, x64:0, x65:0, x64:0, x64:0, x64:0) -> f8033_0_entry_GT(c11, x63:0, x67:0, x68:0, x69:0, c12, x70:0) :|: c12 = 1 && c11 = x62:0 + 1 && (x69:0 > 0 && x71:0 > 0 && x65:0 > -1 && x71:0 < x65:0 && x69:0 < x64:0 && x63:0 >= x62:0 + 1 && x64:0 > -1) 37.14/11.40 f8033_0_entry_GT(x50:0, x51:0, x52:0, x53:0, x54:0, x55:0, x56:0) -> f8033_0_entry_GT(c13, x51:0, x52:0, x53:0, x58:0, x59:0, x60:0) :|: c13 = x50:0 + 1 && (x61:0 < x60:0 && x61:0 > -1 && x58:0 < x54:0 && x59:0 > x55:0 && x61:0 < x56:0 && x52:0 > 0 && x53:0 > 0 && x51:0 >= x50:0 + 1 && x56:0 > 0 && x54:0 > 0 && x55:0 > 0) 37.14/11.40 f8033_0_entry_GT(x41:0, x42:0, x43:0, x44:0, x43:0, x43:0, x43:0) -> f8033_0_entry_GT(c14, x42:0, x46:0, c15, x47:0, c16, x48:0) :|: c16 = 1 && (c15 = 1 && c14 = x41:0 + 1) && (x44:0 > -1 && x47:0 > 0 && x49:0 < x44:0 && x47:0 < x43:0 && x42:0 >= x41:0 + 1 && x43:0 > -1) 37.14/11.40 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (111) RankingReductionPairProof (EQUIVALENT) 37.14/11.40 Interpretation: 37.14/11.40 [ f8033_0_entry_GT ] = -1*f8033_0_entry_GT_1 + f8033_0_entry_GT_2 37.14/11.40 37.14/11.40 The following rules are decreasing: 37.14/11.40 f8033_0_entry_GT(i4622:0:0, i4133:0:0, o14258[LinkedList$Entry.next]o14258:0:0, o14258[LinkedList$Entry.previous]o14258:0:0, o14258[LinkedList$Entry.next]o14258:0:0, o14258[LinkedList$Entry.next]o14258:0:0, o14258[LinkedList$Entry.next]o14258:0:0) -> f8033_0_entry_GT(c, i4133:0:0, c1, o15815[LinkedList$Entry.previous]o15815:0:0, c2, c3, c4) :|: c4 = 1 && (c3 = 1 && (c2 = 1 && (c1 = 1 && c = i4622:0:0 + 1))) && (o14258[LinkedList$Entry.previous]o14258:0:0 > -1 && o15641[LinkedList$Entry.previous]o15638:0:0 > 0 && o15641[LinkedList$Entry.previous]o15638:0:0 < o14258[LinkedList$Entry.previous]o14258:0:0 && o15640[LinkedList$Entry.next]o15638:0:0 < o14258[LinkedList$Entry.next]o14258:0:0 && i4622:0:0 + 1 <= i4133:0:0 && o14258[LinkedList$Entry.next]o14258:0:0 > -1) 37.14/11.40 f8033_0_entry_GT(x34:0, x35:0, x36:0, x37:0, x36:0, x36:0, x36:0) -> f8033_0_entry_GT(c5, x35:0, c6, c7, c8, c9, c10) :|: c10 = 1 && (c9 = 1 && (c8 = 1 && (c7 = 1 && (c6 = 1 && c5 = x34:0 + 1)))) && (x40:0 < x37:0 && x37:0 > -1 && x39:0 < x36:0 && x35:0 >= x34:0 + 1 && x36:0 > -1) 37.14/11.40 f8033_0_entry_GT(x62:0, x63:0, x64:0, x65:0, x64:0, x64:0, x64:0) -> f8033_0_entry_GT(c11, x63:0, x67:0, x68:0, x69:0, c12, x70:0) :|: c12 = 1 && c11 = x62:0 + 1 && (x69:0 > 0 && x71:0 > 0 && x65:0 > -1 && x71:0 < x65:0 && x69:0 < x64:0 && x63:0 >= x62:0 + 1 && x64:0 > -1) 37.14/11.40 f8033_0_entry_GT(x50:0, x51:0, x52:0, x53:0, x54:0, x55:0, x56:0) -> f8033_0_entry_GT(c13, x51:0, x52:0, x53:0, x58:0, x59:0, x60:0) :|: c13 = x50:0 + 1 && (x61:0 < x60:0 && x61:0 > -1 && x58:0 < x54:0 && x59:0 > x55:0 && x61:0 < x56:0 && x52:0 > 0 && x53:0 > 0 && x51:0 >= x50:0 + 1 && x56:0 > 0 && x54:0 > 0 && x55:0 > 0) 37.14/11.40 f8033_0_entry_GT(x41:0, x42:0, x43:0, x44:0, x43:0, x43:0, x43:0) -> f8033_0_entry_GT(c14, x42:0, x46:0, c15, x47:0, c16, x48:0) :|: c16 = 1 && (c15 = 1 && c14 = x41:0 + 1) && (x44:0 > -1 && x47:0 > 0 && x49:0 < x44:0 && x47:0 < x43:0 && x42:0 >= x41:0 + 1 && x43:0 > -1) 37.14/11.40 37.14/11.40 The following rules are bounded: 37.14/11.40 f8033_0_entry_GT(i4622:0:0, i4133:0:0, o14258[LinkedList$Entry.next]o14258:0:0, o14258[LinkedList$Entry.previous]o14258:0:0, o14258[LinkedList$Entry.next]o14258:0:0, o14258[LinkedList$Entry.next]o14258:0:0, o14258[LinkedList$Entry.next]o14258:0:0) -> f8033_0_entry_GT(c, i4133:0:0, c1, o15815[LinkedList$Entry.previous]o15815:0:0, c2, c3, c4) :|: c4 = 1 && (c3 = 1 && (c2 = 1 && (c1 = 1 && c = i4622:0:0 + 1))) && (o14258[LinkedList$Entry.previous]o14258:0:0 > -1 && o15641[LinkedList$Entry.previous]o15638:0:0 > 0 && o15641[LinkedList$Entry.previous]o15638:0:0 < o14258[LinkedList$Entry.previous]o14258:0:0 && o15640[LinkedList$Entry.next]o15638:0:0 < o14258[LinkedList$Entry.next]o14258:0:0 && i4622:0:0 + 1 <= i4133:0:0 && o14258[LinkedList$Entry.next]o14258:0:0 > -1) 37.14/11.40 f8033_0_entry_GT(x34:0, x35:0, x36:0, x37:0, x36:0, x36:0, x36:0) -> f8033_0_entry_GT(c5, x35:0, c6, c7, c8, c9, c10) :|: c10 = 1 && (c9 = 1 && (c8 = 1 && (c7 = 1 && (c6 = 1 && c5 = x34:0 + 1)))) && (x40:0 < x37:0 && x37:0 > -1 && x39:0 < x36:0 && x35:0 >= x34:0 + 1 && x36:0 > -1) 37.14/11.40 f8033_0_entry_GT(x62:0, x63:0, x64:0, x65:0, x64:0, x64:0, x64:0) -> f8033_0_entry_GT(c11, x63:0, x67:0, x68:0, x69:0, c12, x70:0) :|: c12 = 1 && c11 = x62:0 + 1 && (x69:0 > 0 && x71:0 > 0 && x65:0 > -1 && x71:0 < x65:0 && x69:0 < x64:0 && x63:0 >= x62:0 + 1 && x64:0 > -1) 37.14/11.40 f8033_0_entry_GT(x50:0, x51:0, x52:0, x53:0, x54:0, x55:0, x56:0) -> f8033_0_entry_GT(c13, x51:0, x52:0, x53:0, x58:0, x59:0, x60:0) :|: c13 = x50:0 + 1 && (x61:0 < x60:0 && x61:0 > -1 && x58:0 < x54:0 && x59:0 > x55:0 && x61:0 < x56:0 && x52:0 > 0 && x53:0 > 0 && x51:0 >= x50:0 + 1 && x56:0 > 0 && x54:0 > 0 && x55:0 > 0) 37.14/11.40 f8033_0_entry_GT(x41:0, x42:0, x43:0, x44:0, x43:0, x43:0, x43:0) -> f8033_0_entry_GT(c14, x42:0, x46:0, c15, x47:0, c16, x48:0) :|: c16 = 1 && (c15 = 1 && c14 = x41:0 + 1) && (x44:0 > -1 && x47:0 > 0 && x49:0 < x44:0 && x47:0 < x43:0 && x42:0 >= x41:0 + 1 && x43:0 > -1) 37.14/11.40 37.14/11.40 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (112) 37.14/11.40 YES 37.14/11.40 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (113) 37.14/11.40 Obligation: 37.14/11.40 SCC of termination graph based on JBC Program. 37.14/11.40 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateContains.main([Ljava/lang/String;)V 37.14/11.40 SCC calls the following helper methods: 37.14/11.40 Performed SCC analyses: 37.14/11.40 *Used field analysis yielded the following read fields: 37.14/11.40 *javaUtilEx.LinkedList$Entry: [previous] 37.14/11.40 *Marker field analysis yielded the following relations that could be markers: 37.14/11.40 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (114) SCCToIRSProof (SOUND) 37.14/11.40 Transformed FIGraph SCCs to intTRSs. Log: 37.14/11.40 Generated rules. Obtained 40 IRulesP rules: 37.14/11.40 f7566_0_entry_LE(EOS(STATIC_7566), i4133, i4330, i4330, i4133, o12581[LinkedList$Entry.previous]o12579, o12581[LinkedList$Entry.next]o12581, o12579[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12581, o12579[LinkedList$Entry.previous]o12579) -> f7575_0_entry_Load(EOS(STATIC_7575), i4133, i4330, o12581[LinkedList$Entry.previous]o12579, o12581[LinkedList$Entry.next]o12581, o12579[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12581, o12579[LinkedList$Entry.previous]o12579) :|: i4330 > i4133 37.14/11.40 f7575_0_entry_Load(EOS(STATIC_7575), i4133, i4330, o12581[LinkedList$Entry.previous]o12579, o12581[LinkedList$Entry.next]o12581, o12579[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12581, o12579[LinkedList$Entry.previous]o12579) -> f7590_0_entry_FieldAccess(EOS(STATIC_7590), i4133, i4330, o12581[LinkedList$Entry.previous]o12579, o12581[LinkedList$Entry.next]o12581, o12579[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12581, o12579[LinkedList$Entry.previous]o12579) :|: TRUE 37.14/11.40 f7590_0_entry_FieldAccess(EOS(STATIC_7590), i4133, i4330, o12581[LinkedList$Entry.previous]o12579, o12581[LinkedList$Entry.next]o12581, o12579[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12581, o12579[LinkedList$Entry.previous]o12579) -> f7601_0_entry_FieldAccess(EOS(STATIC_7601), i4133, i4330, o12581[LinkedList$Entry.previous]o12579, o12581[LinkedList$Entry.next]o12581, o12579[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12581, o12579[LinkedList$Entry.previous]o12579) :|: o12581[LinkedList$Entry.previous]o12579 > 0 && o12581[LinkedList$Entry.next]o12581 > 0 && o12579[LinkedList$Entry.previous]o12581 > 0 && o12581[LinkedList$Entry.previous]o12581 > 0 && o12579[LinkedList$Entry.previous]o12579 > 0 37.14/11.40 f7590_0_entry_FieldAccess(EOS(STATIC_7590), i4133, i4330, o12775[LinkedList$Entry.previous]o12775, o12775[LinkedList$Entry.next]o12775, o12775[LinkedList$Entry.previous]o12775, o12775[LinkedList$Entry.previous]o12775, o12775[LinkedList$Entry.previous]o12775) -> f7602_0_entry_FieldAccess(EOS(STATIC_7602), i4133, i4330, o12775[LinkedList$Entry.next]o12775, o12775[LinkedList$Entry.previous]o12775) :|: TRUE 37.14/11.40 f7601_0_entry_FieldAccess(EOS(STATIC_7601), i4133, i4330, o12581[LinkedList$Entry.previous]o12787, o12581[LinkedList$Entry.next]o12581, o12787[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12581, o12787[LinkedList$Entry.previous]o12787) -> f7617_0_entry_FieldAccess(EOS(STATIC_7617), i4133, i4330, o12581[LinkedList$Entry.next]o12581, o12581[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12787, o12790[LinkedList$Entry.previous]o12581, o12790[LinkedList$Entry.previous]o12787) :|: o12790[LinkedList$Entry.previous]o12581 < o12787[LinkedList$Entry.previous]o12581 && o12787[LinkedList$Entry.previous]o12581 >= 0 && o12790[LinkedList$Entry.previous]o12787 < o12787[LinkedList$Entry.previous]o12787 && o12787[LinkedList$Entry.previous]o12787 >= 0 37.14/11.40 f7617_0_entry_FieldAccess(EOS(STATIC_7617), i4133, i4330, o12581[LinkedList$Entry.next]o12581, o12581[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12787, o12790[LinkedList$Entry.previous]o12581, o12790[LinkedList$Entry.previous]o12787) -> f7635_0_entry_Store(EOS(STATIC_7635), i4133, i4330, o12581[LinkedList$Entry.next]o12581, o12581[LinkedList$Entry.previous]o12581, o12790[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12790, o12790[LinkedList$Entry.previous]o12790) :|: o12581[LinkedList$Entry.previous]o12790 > o12581[LinkedList$Entry.previous]o12787 && o12581[LinkedList$Entry.previous]o12787 >= 0 && o12790[LinkedList$Entry.previous]o12790 > o12790[LinkedList$Entry.previous]o12787 && o12790[LinkedList$Entry.previous]o12787 >= 0 37.14/11.40 f7635_0_entry_Store(EOS(STATIC_7635), i4133, i4330, o12581[LinkedList$Entry.next]o12581, o12581[LinkedList$Entry.previous]o12581, o12790[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12790, o12790[LinkedList$Entry.previous]o12790) -> f7656_0_entry_Inc(EOS(STATIC_7656), i4133, i4330, o12581[LinkedList$Entry.next]o12581, o12581[LinkedList$Entry.previous]o12581, o12790[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12790, o12790[LinkedList$Entry.previous]o12790) :|: TRUE 37.14/11.40 f7656_0_entry_Inc(EOS(STATIC_7656), i4133, i4330, o12581[LinkedList$Entry.next]o12581, o12581[LinkedList$Entry.previous]o12581, o12790[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12790, o12790[LinkedList$Entry.previous]o12790) -> f7679_0_entry_JMP(EOS(STATIC_7679), i4133, i4330 + -1, o12581[LinkedList$Entry.next]o12581, o12581[LinkedList$Entry.previous]o12581, o12790[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12790, o12790[LinkedList$Entry.previous]o12790) :|: TRUE 37.14/11.40 f7679_0_entry_JMP(EOS(STATIC_7679), i4133, i4343, o12581[LinkedList$Entry.next]o12581, o12581[LinkedList$Entry.previous]o12581, o12790[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12790, o12790[LinkedList$Entry.previous]o12790) -> f7696_0_entry_Load(EOS(STATIC_7696), i4133, i4343, o12581[LinkedList$Entry.next]o12581, o12581[LinkedList$Entry.previous]o12581, o12790[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12790, o12790[LinkedList$Entry.previous]o12790) :|: TRUE 37.14/11.40 f7696_0_entry_Load(EOS(STATIC_7696), i4133, i4343, o12581[LinkedList$Entry.next]o12581, o12581[LinkedList$Entry.previous]o12581, o12790[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12790, o12790[LinkedList$Entry.previous]o12790) -> f7532_0_entry_Load(EOS(STATIC_7532), i4133, i4343, o12581[LinkedList$Entry.previous]o12790, o12581[LinkedList$Entry.next]o12581, o12790[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12581, o12790[LinkedList$Entry.previous]o12790) :|: TRUE 37.14/11.40 f7532_0_entry_Load(EOS(STATIC_7532), i4133, i4330, o12581[LinkedList$Entry.previous]o12579, o12581[LinkedList$Entry.next]o12581, o12579[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12581, o12579[LinkedList$Entry.previous]o12579) -> f7542_0_entry_Load(EOS(STATIC_7542), i4133, i4330, i4330, o12581[LinkedList$Entry.previous]o12579, o12581[LinkedList$Entry.next]o12581, o12579[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12581, o12579[LinkedList$Entry.previous]o12579) :|: TRUE 37.14/11.40 f7542_0_entry_Load(EOS(STATIC_7542), i4133, i4330, i4330, o12581[LinkedList$Entry.previous]o12579, o12581[LinkedList$Entry.next]o12581, o12579[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12581, o12579[LinkedList$Entry.previous]o12579) -> f7554_0_entry_LE(EOS(STATIC_7554), i4133, i4330, i4330, i4133, o12581[LinkedList$Entry.previous]o12579, o12581[LinkedList$Entry.next]o12581, o12579[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12581, o12579[LinkedList$Entry.previous]o12579) :|: TRUE 37.14/11.40 f7554_0_entry_LE(EOS(STATIC_7554), i4133, i4330, i4330, i4133, o12581[LinkedList$Entry.previous]o12579, o12581[LinkedList$Entry.next]o12581, o12579[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12581, o12579[LinkedList$Entry.previous]o12579) -> f7566_0_entry_LE(EOS(STATIC_7566), i4133, i4330, i4330, i4133, o12581[LinkedList$Entry.previous]o12579, o12581[LinkedList$Entry.next]o12581, o12579[LinkedList$Entry.previous]o12581, o12581[LinkedList$Entry.previous]o12581, o12579[LinkedList$Entry.previous]o12579) :|: i4330 > i4133 37.14/11.40 f7602_0_entry_FieldAccess(EOS(STATIC_7602), i4133, i4330, o12791[LinkedList$Entry.next]o12791, o12791[LinkedList$Entry.previous]o12791) -> f7618_0_entry_FieldAccess(EOS(STATIC_7618), i4133, i4330, o12793[LinkedList$Entry.next]o12791, o12794[LinkedList$Entry.previous]o12791) :|: o12793[LinkedList$Entry.next]o12791 < o12791[LinkedList$Entry.next]o12791 && o12791[LinkedList$Entry.next]o12791 >= 0 && o12794[LinkedList$Entry.previous]o12791 < o12791[LinkedList$Entry.previous]o12791 && o12791[LinkedList$Entry.previous]o12791 >= 0 37.14/11.40 f7618_0_entry_FieldAccess(EOS(STATIC_7618), i4133, i4330, o12793[LinkedList$Entry.next]o12791, o12794[LinkedList$Entry.previous]o12791) -> f7636_0_entry_FieldAccess(EOS(STATIC_7636), i4133, i4330, o12794[LinkedList$Entry.previous]o12791, o12793[LinkedList$Entry.next]o12791) :|: o12793[LinkedList$Entry.next]o12791 > 0 37.14/11.40 f7618_0_entry_FieldAccess(EOS(STATIC_7618), i4133, i4330, o12793[LinkedList$Entry.next]o12828, o12794[LinkedList$Entry.previous]o12828) -> f7637_0_entry_FieldAccess(EOS(STATIC_7637), i4133, i4330, o12794[LinkedList$Entry.previous]o12828) :|: TRUE 37.14/11.40 f7636_0_entry_FieldAccess(EOS(STATIC_7636), i4133, i4330, o12794[LinkedList$Entry.previous]o12791, o12793[LinkedList$Entry.next]o12791) -> f7657_0_entry_FieldAccess(EOS(STATIC_7657), i4133, i4330, o12793[LinkedList$Entry.next]o12791, o12794[LinkedList$Entry.previous]o12791) :|: o12794[LinkedList$Entry.previous]o12791 > 0 37.14/11.40 f7636_0_entry_FieldAccess(EOS(STATIC_7636), i4133, i4330, o12794[LinkedList$Entry.previous]o12856, o12793[LinkedList$Entry.next]o12856) -> f7658_0_entry_FieldAccess(EOS(STATIC_7658), i4133, i4330, o12793[LinkedList$Entry.next]o12856) :|: TRUE 37.14/11.40 f7657_0_entry_FieldAccess(EOS(STATIC_7657), i4133, i4330, o12793[LinkedList$Entry.next]o12791, o12794[LinkedList$Entry.previous]o12791) -> f7680_0_entry_Store(EOS(STATIC_7680), i4133, i4330, o12793[LinkedList$Entry.next]o12791, o12794[LinkedList$Entry.previous]o12791) :|: TRUE 37.14/11.40 f7680_0_entry_Store(EOS(STATIC_7680), i4133, i4330, o12793[LinkedList$Entry.next]o12791, o12794[LinkedList$Entry.previous]o12791) -> f7697_0_entry_Inc(EOS(STATIC_7697), i4133, i4330, o12793[LinkedList$Entry.next]o12791, o12794[LinkedList$Entry.previous]o12791) :|: TRUE 37.14/11.40 f7697_0_entry_Inc(EOS(STATIC_7697), i4133, i4330, o12793[LinkedList$Entry.next]o12791, o12794[LinkedList$Entry.previous]o12791) -> f7718_0_entry_JMP(EOS(STATIC_7718), i4133, i4330 + -1, o12793[LinkedList$Entry.next]o12791, o12794[LinkedList$Entry.previous]o12791) :|: TRUE 37.14/11.40 f7718_0_entry_JMP(EOS(STATIC_7718), i4133, i4370, o12793[LinkedList$Entry.next]o12791, o12794[LinkedList$Entry.previous]o12791) -> f7740_0_entry_Load(EOS(STATIC_7740), i4133, i4370, o12793[LinkedList$Entry.next]o12791, o12794[LinkedList$Entry.previous]o12791) :|: TRUE 37.14/11.40 f7740_0_entry_Load(EOS(STATIC_7740), i4133, i4370, o12793[LinkedList$Entry.next]o12791, o12794[LinkedList$Entry.previous]o12791) -> f7532_0_entry_Load(EOS(STATIC_7532), i4133, i4370, o12791[LinkedList$Entry.previous]o12794, o12791[LinkedList$Entry.next]o12791, o12794[LinkedList$Entry.previous]o12791, o12791[LinkedList$Entry.previous]o12791, o12794[LinkedList$Entry.previous]o12794) :|: o12791[LinkedList$Entry.previous]o12794 = 1 37.14/11.40 f7658_0_entry_FieldAccess(EOS(STATIC_7658), i4133, i4330, o12793[LinkedList$Entry.next]o12856) -> f7681_0_entry_Store(EOS(STATIC_7681), i4133, i4330, o12793[LinkedList$Entry.next]o12856) :|: TRUE 37.14/11.40 f7681_0_entry_Store(EOS(STATIC_7681), i4133, i4330, o12793[LinkedList$Entry.next]o12856) -> f7698_0_entry_Inc(EOS(STATIC_7698), i4133, i4330, o12793[LinkedList$Entry.next]o12856) :|: TRUE 37.14/11.40 f7698_0_entry_Inc(EOS(STATIC_7698), i4133, i4330, o12793[LinkedList$Entry.next]o12856) -> f7719_0_entry_JMP(EOS(STATIC_7719), i4133, i4330 + -1, o12793[LinkedList$Entry.next]o12856) :|: TRUE 37.14/11.40 f7719_0_entry_JMP(EOS(STATIC_7719), i4133, i4372, o12793[LinkedList$Entry.next]o12856) -> f7741_0_entry_Load(EOS(STATIC_7741), i4133, i4372, o12793[LinkedList$Entry.next]o12856) :|: TRUE 37.14/11.40 f7741_0_entry_Load(EOS(STATIC_7741), i4133, i4372, o12793[LinkedList$Entry.next]o12856) -> f7532_0_entry_Load(EOS(STATIC_7532), i4133, i4372, o12856[LinkedList$Entry.previous]o12856, o12856[LinkedList$Entry.next]o12856, o12856[LinkedList$Entry.previous]o12856, o12856[LinkedList$Entry.previous]o12856, o12856[LinkedList$Entry.previous]o12856) :|: o12856[LinkedList$Entry.previous]o12856 = 1 && o12856[LinkedList$Entry.previous]o12856 = 1 && o12856[LinkedList$Entry.previous]o12856 = 1 && o12856[LinkedList$Entry.previous]o12856 = 1 37.14/11.40 f7637_0_entry_FieldAccess(EOS(STATIC_7637), i4133, i4330, o12794[LinkedList$Entry.previous]o12828) -> f7659_0_entry_FieldAccess(EOS(STATIC_7659), i4133, i4330, o12794[LinkedList$Entry.previous]o12828) :|: o12794[LinkedList$Entry.previous]o12828 > 0 37.14/11.40 f7637_0_entry_FieldAccess(EOS(STATIC_7637), i4133, i4330, o12794[LinkedList$Entry.previous]o12859) -> f7660_0_entry_FieldAccess(EOS(STATIC_7660), i4133, i4330) :|: TRUE 37.14/11.40 f7659_0_entry_FieldAccess(EOS(STATIC_7659), i4133, i4330, o12794[LinkedList$Entry.previous]o12828) -> f7682_0_entry_Store(EOS(STATIC_7682), i4133, i4330, o12794[LinkedList$Entry.previous]o12828) :|: TRUE 37.14/11.40 f7682_0_entry_Store(EOS(STATIC_7682), i4133, i4330, o12794[LinkedList$Entry.previous]o12828) -> f7699_0_entry_Inc(EOS(STATIC_7699), i4133, i4330, o12794[LinkedList$Entry.previous]o12828) :|: TRUE 37.14/11.40 f7699_0_entry_Inc(EOS(STATIC_7699), i4133, i4330, o12794[LinkedList$Entry.previous]o12828) -> f7720_0_entry_JMP(EOS(STATIC_7720), i4133, i4330 + -1, o12794[LinkedList$Entry.previous]o12828) :|: TRUE 37.14/11.40 f7720_0_entry_JMP(EOS(STATIC_7720), i4133, i4373, o12794[LinkedList$Entry.previous]o12828) -> f7742_0_entry_Load(EOS(STATIC_7742), i4133, i4373, o12794[LinkedList$Entry.previous]o12828) :|: TRUE 37.14/11.40 f7742_0_entry_Load(EOS(STATIC_7742), i4133, i4373, o12794[LinkedList$Entry.previous]o12828) -> f7532_0_entry_Load(EOS(STATIC_7532), i4133, i4373, o12828[LinkedList$Entry.previous]o12794, o12828[LinkedList$Entry.next]o12828, o12794[LinkedList$Entry.previous]o12828, o12828[LinkedList$Entry.previous]o12828, o12794[LinkedList$Entry.previous]o12794) :|: o12828[LinkedList$Entry.previous]o12794 = 1 && o12828[LinkedList$Entry.next]o12828 = 1 37.14/11.40 f7660_0_entry_FieldAccess(EOS(STATIC_7660), i4133, i4330) -> f7683_0_entry_Store(EOS(STATIC_7683), i4133, i4330) :|: TRUE 37.14/11.40 f7683_0_entry_Store(EOS(STATIC_7683), i4133, i4330) -> f7700_0_entry_Inc(EOS(STATIC_7700), i4133, i4330) :|: TRUE 37.14/11.40 f7700_0_entry_Inc(EOS(STATIC_7700), i4133, i4330) -> f7721_0_entry_JMP(EOS(STATIC_7721), i4133, i4330 + -1) :|: TRUE 37.14/11.40 f7721_0_entry_JMP(EOS(STATIC_7721), i4133, i4377) -> f7743_0_entry_Load(EOS(STATIC_7743), i4133, i4377) :|: TRUE 37.14/11.40 f7743_0_entry_Load(EOS(STATIC_7743), i4133, i4377) -> f7532_0_entry_Load(EOS(STATIC_7532), i4133, i4377, o12859[LinkedList$Entry.previous]o12859, o12859[LinkedList$Entry.next]o12859, o12859[LinkedList$Entry.previous]o12859, o12859[LinkedList$Entry.previous]o12859, o12859[LinkedList$Entry.previous]o12859) :|: o12859[LinkedList$Entry.previous]o12859 = 1 && o12859[LinkedList$Entry.next]o12859 = 1 && o12859[LinkedList$Entry.previous]o12859 = 1 && o12859[LinkedList$Entry.previous]o12859 = 1 && o12859[LinkedList$Entry.previous]o12859 = 1 37.14/11.40 Combined rules. Obtained 5 IRulesP rules: 37.14/11.40 f7566_0_entry_LE(EOS(STATIC_7566), i4133:0, i4330:0, i4330:0, i4133:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.next]o12581:0, o12579[LinkedList$Entry.previous]o12581:0, o12581[LinkedList$Entry.previous]o12581:0, o12579[LinkedList$Entry.previous]o12579:0) -> f7566_0_entry_LE(EOS(STATIC_7566), i4133:0, i4330:0 - 1, i4330:0 - 1, i4133:0, o12581[LinkedList$Entry.previous]o12790:0, o12581[LinkedList$Entry.next]o12581:0, o12790[LinkedList$Entry.previous]o12581:0, o12581[LinkedList$Entry.previous]o12581:0, o12790[LinkedList$Entry.previous]o12790:0) :|: o12581[LinkedList$Entry.previous]o12579:0 > 0 && o12579[LinkedList$Entry.previous]o12581:0 > 0 && o12579[LinkedList$Entry.previous]o12579:0 > 0 && o12581[LinkedList$Entry.next]o12581:0 > 0 && o12790[LinkedList$Entry.previous]o12581:0 < o12579[LinkedList$Entry.previous]o12581:0 && o12581[LinkedList$Entry.previous]o12581:0 > 0 && o12581[LinkedList$Entry.previous]o12790:0 > o12581[LinkedList$Entry.previous]o12579:0 && o12790[LinkedList$Entry.previous]o12787:0 < o12579[LinkedList$Entry.previous]o12579:0 && i4330:0 > i4133:0 && o12790[LinkedList$Entry.previous]o12790:0 > o12790[LinkedList$Entry.previous]o12787:0 && i4330:0 - 1 > i4133:0 && o12790[LinkedList$Entry.previous]o12787:0 > -1 37.14/11.40 f7566_0_entry_LE(EOS(STATIC_7566), i4133:0, i4330:0, i4330:0, i4133:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.next]o12581:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0) -> f7566_0_entry_LE(EOS(STATIC_7566), i4133:0, i4330:0 - 1, i4330:0 - 1, i4133:0, 1, o12856[LinkedList$Entry.next]o12856:0, 1, 1, 1) :|: o12581[LinkedList$Entry.next]o12581:0 > -1 && o12793[LinkedList$Entry.next]o12791:0 < o12581[LinkedList$Entry.next]o12581:0 && o12794[LinkedList$Entry.previous]o12791:0 < o12581[LinkedList$Entry.previous]o12579:0 && i4330:0 > i4133:0 && o12581[LinkedList$Entry.previous]o12579:0 > -1 && i4330:0 - 1 > i4133:0 && o12793[LinkedList$Entry.next]o12791:0 > 0 37.14/11.40 f7566_0_entry_LE(EOS(STATIC_7566), i4133:0, i4330:0, i4330:0, i4133:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.next]o12581:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0) -> f7566_0_entry_LE(EOS(STATIC_7566), i4133:0, i4330:0 - 1, i4330:0 - 1, i4133:0, 1, o12791[LinkedList$Entry.next]o12791:0, o12794[LinkedList$Entry.previous]o12791:0, o12791[LinkedList$Entry.previous]o12791:0, o12794[LinkedList$Entry.previous]o12794:0) :|: o12581[LinkedList$Entry.next]o12581:0 > -1 && o12793[LinkedList$Entry.next]o12791:0 < o12581[LinkedList$Entry.next]o12581:0 && o12794[LinkedList$Entry.previous]o12791:0 < o12581[LinkedList$Entry.previous]o12579:0 && i4330:0 > i4133:0 && o12581[LinkedList$Entry.previous]o12579:0 > -1 && o12793[LinkedList$Entry.next]o12791:0 > 0 && i4330:0 - 1 > i4133:0 && o12794[LinkedList$Entry.previous]o12791:0 > 0 37.14/11.40 f7566_0_entry_LE(EOS(STATIC_7566), i4133:0, i4330:0, i4330:0, i4133:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.next]o12581:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0) -> f7566_0_entry_LE(EOS(STATIC_7566), i4133:0, i4330:0 - 1, i4330:0 - 1, i4133:0, 1, 1, o12794[LinkedList$Entry.previous]o12791:0, o12828[LinkedList$Entry.previous]o12828:0, o12794[LinkedList$Entry.previous]o12794:0) :|: o12581[LinkedList$Entry.next]o12581:0 > -1 && o12793[LinkedList$Entry.next]o12791:0 < o12581[LinkedList$Entry.next]o12581:0 && o12794[LinkedList$Entry.previous]o12791:0 < o12581[LinkedList$Entry.previous]o12579:0 && i4330:0 > i4133:0 && o12581[LinkedList$Entry.previous]o12579:0 > -1 && i4330:0 - 1 > i4133:0 && o12794[LinkedList$Entry.previous]o12791:0 > 0 37.14/11.40 f7566_0_entry_LE(EOS(STATIC_7566), i4133:0, i4330:0, i4330:0, i4133:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.next]o12581:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0) -> f7566_0_entry_LE(EOS(STATIC_7566), i4133:0, i4330:0 - 1, i4330:0 - 1, i4133:0, 1, 1, 1, 1, 1) :|: o12581[LinkedList$Entry.next]o12581:0 > -1 && o12793[LinkedList$Entry.next]o12791:0 < o12581[LinkedList$Entry.next]o12581:0 && o12794[LinkedList$Entry.previous]o12791:0 < o12581[LinkedList$Entry.previous]o12579:0 && i4330:0 > i4133:0 && i4330:0 - 1 > i4133:0 && o12581[LinkedList$Entry.previous]o12579:0 > -1 37.14/11.40 Filtered constant ground arguments: 37.14/11.40 f7566_0_entry_LE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f7566_0_entry_LE(x2, x3, x4, x5, x6, x7, x8, x9, x10) 37.14/11.40 EOS(x1) -> EOS 37.14/11.40 Filtered duplicate arguments: 37.14/11.40 f7566_0_entry_LE(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f7566_0_entry_LE(x3, x4, x5, x6, x7, x8, x9) 37.14/11.40 Finished conversion. Obtained 5 rules.P rules: 37.14/11.40 f7566_0_entry_LE(i4330:0, i4133:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.next]o12581:0, o12579[LinkedList$Entry.previous]o12581:0, o12581[LinkedList$Entry.previous]o12581:0, o12579[LinkedList$Entry.previous]o12579:0) -> f7566_0_entry_LE(i4330:0 - 1, i4133:0, o12581[LinkedList$Entry.previous]o12790:0, o12581[LinkedList$Entry.next]o12581:0, o12790[LinkedList$Entry.previous]o12581:0, o12581[LinkedList$Entry.previous]o12581:0, o12790[LinkedList$Entry.previous]o12790:0) :|: o12579[LinkedList$Entry.previous]o12581:0 > 0 && o12581[LinkedList$Entry.previous]o12579:0 > 0 && o12579[LinkedList$Entry.previous]o12579:0 > 0 && o12581[LinkedList$Entry.next]o12581:0 > 0 && o12790[LinkedList$Entry.previous]o12581:0 < o12579[LinkedList$Entry.previous]o12581:0 && o12581[LinkedList$Entry.previous]o12581:0 > 0 && o12581[LinkedList$Entry.previous]o12790:0 > o12581[LinkedList$Entry.previous]o12579:0 && o12790[LinkedList$Entry.previous]o12787:0 < o12579[LinkedList$Entry.previous]o12579:0 && i4330:0 > i4133:0 && o12790[LinkedList$Entry.previous]o12790:0 > o12790[LinkedList$Entry.previous]o12787:0 && o12790[LinkedList$Entry.previous]o12787:0 > -1 && i4330:0 - 1 > i4133:0 37.14/11.40 f7566_0_entry_LE(i4330:0, i4133:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.next]o12581:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0) -> f7566_0_entry_LE(i4330:0 - 1, i4133:0, 1, o12856[LinkedList$Entry.next]o12856:0, 1, 1, 1) :|: o12793[LinkedList$Entry.next]o12791:0 < o12581[LinkedList$Entry.next]o12581:0 && o12581[LinkedList$Entry.next]o12581:0 > -1 && o12794[LinkedList$Entry.previous]o12791:0 < o12581[LinkedList$Entry.previous]o12579:0 && i4330:0 > i4133:0 && o12581[LinkedList$Entry.previous]o12579:0 > -1 && o12793[LinkedList$Entry.next]o12791:0 > 0 && i4330:0 - 1 > i4133:0 37.14/11.40 f7566_0_entry_LE(i4330:0, i4133:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.next]o12581:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0) -> f7566_0_entry_LE(i4330:0 - 1, i4133:0, 1, o12791[LinkedList$Entry.next]o12791:0, o12794[LinkedList$Entry.previous]o12791:0, o12791[LinkedList$Entry.previous]o12791:0, o12794[LinkedList$Entry.previous]o12794:0) :|: o12793[LinkedList$Entry.next]o12791:0 < o12581[LinkedList$Entry.next]o12581:0 && o12581[LinkedList$Entry.next]o12581:0 > -1 && o12794[LinkedList$Entry.previous]o12791:0 < o12581[LinkedList$Entry.previous]o12579:0 && i4330:0 > i4133:0 && o12581[LinkedList$Entry.previous]o12579:0 > -1 && o12793[LinkedList$Entry.next]o12791:0 > 0 && o12794[LinkedList$Entry.previous]o12791:0 > 0 && i4330:0 - 1 > i4133:0 37.14/11.40 f7566_0_entry_LE(i4330:0, i4133:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.next]o12581:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0) -> f7566_0_entry_LE(i4330:0 - 1, i4133:0, 1, 1, o12794[LinkedList$Entry.previous]o12791:0, o12828[LinkedList$Entry.previous]o12828:0, o12794[LinkedList$Entry.previous]o12794:0) :|: o12793[LinkedList$Entry.next]o12791:0 < o12581[LinkedList$Entry.next]o12581:0 && o12581[LinkedList$Entry.next]o12581:0 > -1 && o12794[LinkedList$Entry.previous]o12791:0 < o12581[LinkedList$Entry.previous]o12579:0 && i4330:0 > i4133:0 && o12581[LinkedList$Entry.previous]o12579:0 > -1 && o12794[LinkedList$Entry.previous]o12791:0 > 0 && i4330:0 - 1 > i4133:0 37.14/11.40 f7566_0_entry_LE(i4330:0, i4133:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.next]o12581:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.previous]o12579:0) -> f7566_0_entry_LE(i4330:0 - 1, i4133:0, 1, 1, 1, 1, 1) :|: o12793[LinkedList$Entry.next]o12791:0 < o12581[LinkedList$Entry.next]o12581:0 && o12581[LinkedList$Entry.next]o12581:0 > -1 && o12794[LinkedList$Entry.previous]o12791:0 < o12581[LinkedList$Entry.previous]o12579:0 && i4330:0 > i4133:0 && o12581[LinkedList$Entry.previous]o12579:0 > -1 && i4330:0 - 1 > i4133:0 37.14/11.40 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (115) 37.14/11.40 Obligation: 37.14/11.40 Rules: 37.14/11.40 f7566_0_entry_LE(i4330:0, i4133:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.next]o12581:0, o12579[LinkedList$Entry.previous]o12581:0, o12581[LinkedList$Entry.previous]o12581:0, o12579[LinkedList$Entry.previous]o12579:0) -> f7566_0_entry_LE(i4330:0 - 1, i4133:0, o12581[LinkedList$Entry.previous]o12790:0, o12581[LinkedList$Entry.next]o12581:0, o12790[LinkedList$Entry.previous]o12581:0, o12581[LinkedList$Entry.previous]o12581:0, o12790[LinkedList$Entry.previous]o12790:0) :|: o12579[LinkedList$Entry.previous]o12581:0 > 0 && o12581[LinkedList$Entry.previous]o12579:0 > 0 && o12579[LinkedList$Entry.previous]o12579:0 > 0 && o12581[LinkedList$Entry.next]o12581:0 > 0 && o12790[LinkedList$Entry.previous]o12581:0 < o12579[LinkedList$Entry.previous]o12581:0 && o12581[LinkedList$Entry.previous]o12581:0 > 0 && o12581[LinkedList$Entry.previous]o12790:0 > o12581[LinkedList$Entry.previous]o12579:0 && o12790[LinkedList$Entry.previous]o12787:0 < o12579[LinkedList$Entry.previous]o12579:0 && i4330:0 > i4133:0 && o12790[LinkedList$Entry.previous]o12790:0 > o12790[LinkedList$Entry.previous]o12787:0 && o12790[LinkedList$Entry.previous]o12787:0 > -1 && i4330:0 - 1 > i4133:0 37.14/11.40 f7566_0_entry_LE(x, x1, x2, x3, x2, x2, x2) -> f7566_0_entry_LE(x - 1, x1, 1, x4, 1, 1, 1) :|: x5 < x3 && x3 > -1 && x6 < x2 && x > x1 && x2 > -1 && x5 > 0 && x - 1 > x1 37.14/11.40 f7566_0_entry_LE(x7, x8, x9, x10, x9, x9, x9) -> f7566_0_entry_LE(x7 - 1, x8, 1, x11, x12, x13, x14) :|: x15 < x10 && x10 > -1 && x12 < x9 && x7 > x8 && x9 > -1 && x15 > 0 && x12 > 0 && x7 - 1 > x8 37.14/11.40 f7566_0_entry_LE(x16, x17, x18, x19, x18, x18, x18) -> f7566_0_entry_LE(x16 - 1, x17, 1, 1, x20, x21, x22) :|: x23 < x19 && x19 > -1 && x20 < x18 && x16 > x17 && x18 > -1 && x20 > 0 && x16 - 1 > x17 37.14/11.40 f7566_0_entry_LE(x24, x25, x26, x27, x26, x26, x26) -> f7566_0_entry_LE(x24 - 1, x25, 1, 1, 1, 1, 1) :|: x28 < x27 && x27 > -1 && x29 < x26 && x24 > x25 && x26 > -1 && x24 - 1 > x25 37.14/11.40 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (116) IRSFormatTransformerProof (EQUIVALENT) 37.14/11.40 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (117) 37.14/11.40 Obligation: 37.14/11.40 Rules: 37.14/11.40 f7566_0_entry_LE(i4330:0, i4133:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.next]o12581:0, o12579[LinkedList$Entry.previous]o12581:0, o12581[LinkedList$Entry.previous]o12581:0, o12579[LinkedList$Entry.previous]o12579:0) -> f7566_0_entry_LE(arith, i4133:0, o12581[LinkedList$Entry.previous]o12790:0, o12581[LinkedList$Entry.next]o12581:0, o12790[LinkedList$Entry.previous]o12581:0, o12581[LinkedList$Entry.previous]o12581:0, o12790[LinkedList$Entry.previous]o12790:0) :|: o12579[LinkedList$Entry.previous]o12581:0 > 0 && o12581[LinkedList$Entry.previous]o12579:0 > 0 && o12579[LinkedList$Entry.previous]o12579:0 > 0 && o12581[LinkedList$Entry.next]o12581:0 > 0 && o12790[LinkedList$Entry.previous]o12581:0 < o12579[LinkedList$Entry.previous]o12581:0 && o12581[LinkedList$Entry.previous]o12581:0 > 0 && o12581[LinkedList$Entry.previous]o12790:0 > o12581[LinkedList$Entry.previous]o12579:0 && o12790[LinkedList$Entry.previous]o12787:0 < o12579[LinkedList$Entry.previous]o12579:0 && i4330:0 > i4133:0 && o12790[LinkedList$Entry.previous]o12790:0 > o12790[LinkedList$Entry.previous]o12787:0 && o12790[LinkedList$Entry.previous]o12787:0 > -1 && i4330:0 - 1 > i4133:0 && arith = i4330:0 - 1 37.14/11.40 f7566_0_entry_LE(x30, x31, x32, x33, x32, x32, x32) -> f7566_0_entry_LE(x34, x31, 1, x35, 1, 1, 1) :|: x36 < x33 && x33 > -1 && x37 < x32 && x30 > x31 && x32 > -1 && x36 > 0 && x30 - 1 > x31 && x34 = x30 - 1 37.14/11.40 f7566_0_entry_LE(x38, x39, x40, x41, x40, x40, x40) -> f7566_0_entry_LE(x42, x39, 1, x43, x44, x45, x46) :|: x47 < x41 && x41 > -1 && x44 < x40 && x38 > x39 && x40 > -1 && x47 > 0 && x44 > 0 && x38 - 1 > x39 && x42 = x38 - 1 37.14/11.40 f7566_0_entry_LE(x48, x49, x50, x51, x50, x50, x50) -> f7566_0_entry_LE(x52, x49, 1, 1, x53, x54, x55) :|: x56 < x51 && x51 > -1 && x53 < x50 && x48 > x49 && x50 > -1 && x53 > 0 && x48 - 1 > x49 && x52 = x48 - 1 37.14/11.40 f7566_0_entry_LE(x57, x58, x59, x60, x59, x59, x59) -> f7566_0_entry_LE(x61, x58, 1, 1, 1, 1, 1) :|: x62 < x60 && x60 > -1 && x63 < x59 && x57 > x58 && x59 > -1 && x57 - 1 > x58 && x61 = x57 - 1 37.14/11.40 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (118) IRSwTTerminationDigraphProof (EQUIVALENT) 37.14/11.40 Constructed termination digraph! 37.14/11.40 Nodes: 37.14/11.40 (1) f7566_0_entry_LE(i4330:0, i4133:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.next]o12581:0, o12579[LinkedList$Entry.previous]o12581:0, o12581[LinkedList$Entry.previous]o12581:0, o12579[LinkedList$Entry.previous]o12579:0) -> f7566_0_entry_LE(arith, i4133:0, o12581[LinkedList$Entry.previous]o12790:0, o12581[LinkedList$Entry.next]o12581:0, o12790[LinkedList$Entry.previous]o12581:0, o12581[LinkedList$Entry.previous]o12581:0, o12790[LinkedList$Entry.previous]o12790:0) :|: o12579[LinkedList$Entry.previous]o12581:0 > 0 && o12581[LinkedList$Entry.previous]o12579:0 > 0 && o12579[LinkedList$Entry.previous]o12579:0 > 0 && o12581[LinkedList$Entry.next]o12581:0 > 0 && o12790[LinkedList$Entry.previous]o12581:0 < o12579[LinkedList$Entry.previous]o12581:0 && o12581[LinkedList$Entry.previous]o12581:0 > 0 && o12581[LinkedList$Entry.previous]o12790:0 > o12581[LinkedList$Entry.previous]o12579:0 && o12790[LinkedList$Entry.previous]o12787:0 < o12579[LinkedList$Entry.previous]o12579:0 && i4330:0 > i4133:0 && o12790[LinkedList$Entry.previous]o12790:0 > o12790[LinkedList$Entry.previous]o12787:0 && o12790[LinkedList$Entry.previous]o12787:0 > -1 && i4330:0 - 1 > i4133:0 && arith = i4330:0 - 1 37.14/11.40 (2) f7566_0_entry_LE(x30, x31, x32, x33, x32, x32, x32) -> f7566_0_entry_LE(x34, x31, 1, x35, 1, 1, 1) :|: x36 < x33 && x33 > -1 && x37 < x32 && x30 > x31 && x32 > -1 && x36 > 0 && x30 - 1 > x31 && x34 = x30 - 1 37.14/11.40 (3) f7566_0_entry_LE(x38, x39, x40, x41, x40, x40, x40) -> f7566_0_entry_LE(x42, x39, 1, x43, x44, x45, x46) :|: x47 < x41 && x41 > -1 && x44 < x40 && x38 > x39 && x40 > -1 && x47 > 0 && x44 > 0 && x38 - 1 > x39 && x42 = x38 - 1 37.14/11.40 (4) f7566_0_entry_LE(x48, x49, x50, x51, x50, x50, x50) -> f7566_0_entry_LE(x52, x49, 1, 1, x53, x54, x55) :|: x56 < x51 && x51 > -1 && x53 < x50 && x48 > x49 && x50 > -1 && x53 > 0 && x48 - 1 > x49 && x52 = x48 - 1 37.14/11.40 (5) f7566_0_entry_LE(x57, x58, x59, x60, x59, x59, x59) -> f7566_0_entry_LE(x61, x58, 1, 1, 1, 1, 1) :|: x62 < x60 && x60 > -1 && x63 < x59 && x57 > x58 && x59 > -1 && x57 - 1 > x58 && x61 = x57 - 1 37.14/11.40 37.14/11.40 Arcs: 37.14/11.40 (1) -> (1), (2), (3), (4), (5) 37.14/11.40 (2) -> (1), (2), (5) 37.14/11.40 (3) -> (1), (2), (5) 37.14/11.40 (4) -> (1), (5) 37.14/11.40 (5) -> (1), (5) 37.14/11.40 37.14/11.40 This digraph is fully evaluated! 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (119) 37.14/11.40 Obligation: 37.14/11.40 37.14/11.40 Termination digraph: 37.14/11.40 Nodes: 37.14/11.40 (1) f7566_0_entry_LE(i4330:0, i4133:0, o12581[LinkedList$Entry.previous]o12579:0, o12581[LinkedList$Entry.next]o12581:0, o12579[LinkedList$Entry.previous]o12581:0, o12581[LinkedList$Entry.previous]o12581:0, o12579[LinkedList$Entry.previous]o12579:0) -> f7566_0_entry_LE(arith, i4133:0, o12581[LinkedList$Entry.previous]o12790:0, o12581[LinkedList$Entry.next]o12581:0, o12790[LinkedList$Entry.previous]o12581:0, o12581[LinkedList$Entry.previous]o12581:0, o12790[LinkedList$Entry.previous]o12790:0) :|: o12579[LinkedList$Entry.previous]o12581:0 > 0 && o12581[LinkedList$Entry.previous]o12579:0 > 0 && o12579[LinkedList$Entry.previous]o12579:0 > 0 && o12581[LinkedList$Entry.next]o12581:0 > 0 && o12790[LinkedList$Entry.previous]o12581:0 < o12579[LinkedList$Entry.previous]o12581:0 && o12581[LinkedList$Entry.previous]o12581:0 > 0 && o12581[LinkedList$Entry.previous]o12790:0 > o12581[LinkedList$Entry.previous]o12579:0 && o12790[LinkedList$Entry.previous]o12787:0 < o12579[LinkedList$Entry.previous]o12579:0 && i4330:0 > i4133:0 && o12790[LinkedList$Entry.previous]o12790:0 > o12790[LinkedList$Entry.previous]o12787:0 && o12790[LinkedList$Entry.previous]o12787:0 > -1 && i4330:0 - 1 > i4133:0 && arith = i4330:0 - 1 37.14/11.40 (2) f7566_0_entry_LE(x57, x58, x59, x60, x59, x59, x59) -> f7566_0_entry_LE(x61, x58, 1, 1, 1, 1, 1) :|: x62 < x60 && x60 > -1 && x63 < x59 && x57 > x58 && x59 > -1 && x57 - 1 > x58 && x61 = x57 - 1 37.14/11.40 (3) f7566_0_entry_LE(x48, x49, x50, x51, x50, x50, x50) -> f7566_0_entry_LE(x52, x49, 1, 1, x53, x54, x55) :|: x56 < x51 && x51 > -1 && x53 < x50 && x48 > x49 && x50 > -1 && x53 > 0 && x48 - 1 > x49 && x52 = x48 - 1 37.14/11.40 (4) f7566_0_entry_LE(x30, x31, x32, x33, x32, x32, x32) -> f7566_0_entry_LE(x34, x31, 1, x35, 1, 1, 1) :|: x36 < x33 && x33 > -1 && x37 < x32 && x30 > x31 && x32 > -1 && x36 > 0 && x30 - 1 > x31 && x34 = x30 - 1 37.14/11.40 (5) f7566_0_entry_LE(x38, x39, x40, x41, x40, x40, x40) -> f7566_0_entry_LE(x42, x39, 1, x43, x44, x45, x46) :|: x47 < x41 && x41 > -1 && x44 < x40 && x38 > x39 && x40 > -1 && x47 > 0 && x44 > 0 && x38 - 1 > x39 && x42 = x38 - 1 37.14/11.40 37.14/11.40 Arcs: 37.14/11.40 (1) -> (1), (2), (3), (4), (5) 37.14/11.40 (2) -> (1), (2) 37.14/11.40 (3) -> (1), (2) 37.14/11.40 (4) -> (1), (2), (4) 37.14/11.40 (5) -> (1), (2), (4) 37.14/11.40 37.14/11.40 This digraph is fully evaluated! 37.14/11.40 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (120) IntTRSCompressionProof (EQUIVALENT) 37.14/11.40 Compressed rules. 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (121) 37.14/11.40 Obligation: 37.14/11.40 Rules: 37.14/11.40 f7566_0_entry_LE(x38:0, x39:0, x40:0, x41:0, x40:0, x40:0, x40:0) -> f7566_0_entry_LE(x38:0 - 1, x39:0, 1, x43:0, x44:0, x45:0, x46:0) :|: x44:0 > 0 && x39:0 < x38:0 - 1 && x47:0 > 0 && x40:0 > -1 && x39:0 < x38:0 && x44:0 < x40:0 && x41:0 > -1 && x47:0 < x41:0 37.14/11.40 f7566_0_entry_LE(i4330:0:0, i4133:0:0, o12581[LinkedList$Entry.previous]o12579:0:0, o12581[LinkedList$Entry.next]o12581:0:0, o12579[LinkedList$Entry.previous]o12581:0:0, o12581[LinkedList$Entry.previous]o12581:0:0, o12579[LinkedList$Entry.previous]o12579:0:0) -> f7566_0_entry_LE(i4330:0:0 - 1, i4133:0:0, o12581[LinkedList$Entry.previous]o12790:0:0, o12581[LinkedList$Entry.next]o12581:0:0, o12790[LinkedList$Entry.previous]o12581:0:0, o12581[LinkedList$Entry.previous]o12581:0:0, o12790[LinkedList$Entry.previous]o12790:0:0) :|: o12790[LinkedList$Entry.previous]o12787:0:0 > -1 && i4330:0:0 - 1 > i4133:0:0 && o12790[LinkedList$Entry.previous]o12790:0:0 > o12790[LinkedList$Entry.previous]o12787:0:0 && i4330:0:0 > i4133:0:0 && o12790[LinkedList$Entry.previous]o12787:0:0 < o12579[LinkedList$Entry.previous]o12579:0:0 && o12581[LinkedList$Entry.previous]o12790:0:0 > o12581[LinkedList$Entry.previous]o12579:0:0 && o12581[LinkedList$Entry.previous]o12581:0:0 > 0 && o12790[LinkedList$Entry.previous]o12581:0:0 < o12579[LinkedList$Entry.previous]o12581:0:0 && o12581[LinkedList$Entry.next]o12581:0:0 > 0 && o12579[LinkedList$Entry.previous]o12579:0:0 > 0 && o12581[LinkedList$Entry.previous]o12579:0:0 > 0 && o12579[LinkedList$Entry.previous]o12581:0:0 > 0 37.14/11.40 f7566_0_entry_LE(x57:0, x58:0, x59:0, x60:0, x59:0, x59:0, x59:0) -> f7566_0_entry_LE(x57:0 - 1, x58:0, 1, 1, 1, 1, 1) :|: x59:0 > -1 && x58:0 < x57:0 - 1 && x58:0 < x57:0 && x63:0 < x59:0 && x60:0 > -1 && x62:0 < x60:0 37.14/11.40 f7566_0_entry_LE(x30:0, x31:0, x32:0, x33:0, x32:0, x32:0, x32:0) -> f7566_0_entry_LE(x30:0 - 1, x31:0, 1, x35:0, 1, 1, 1) :|: x36:0 > 0 && x31:0 < x30:0 - 1 && x32:0 > -1 && x31:0 < x30:0 && x37:0 < x32:0 && x33:0 > -1 && x36:0 < x33:0 37.14/11.40 f7566_0_entry_LE(x48:0, x49:0, x50:0, x51:0, x50:0, x50:0, x50:0) -> f7566_0_entry_LE(x48:0 - 1, x49:0, 1, 1, x53:0, x54:0, x55:0) :|: x53:0 > 0 && x49:0 < x48:0 - 1 && x50:0 > -1 && x49:0 < x48:0 && x53:0 < x50:0 && x51:0 > -1 && x56:0 < x51:0 37.14/11.40 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (122) TempFilterProof (SOUND) 37.14/11.40 Used the following sort dictionary for filtering: 37.14/11.40 f7566_0_entry_LE(INTEGER, INTEGER, VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE) 37.14/11.40 Replaced non-predefined constructor symbols by 0. 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (123) 37.14/11.40 Obligation: 37.14/11.40 Rules: 37.14/11.40 f7566_0_entry_LE(x38:0, x39:0, x40:0, x41:0, x40:0, x40:0, x40:0) -> f7566_0_entry_LE(c, x39:0, c1, x43:0, x44:0, x45:0, x46:0) :|: c1 = 1 && c = x38:0 - 1 && (x44:0 > 0 && x39:0 < x38:0 - 1 && x47:0 > 0 && x40:0 > -1 && x39:0 < x38:0 && x44:0 < x40:0 && x41:0 > -1 && x47:0 < x41:0) 37.14/11.40 f7566_0_entry_LE(i4330:0:0, i4133:0:0, o12581[LinkedList$Entry.previous]o12579:0:0, o12581[LinkedList$Entry.next]o12581:0:0, o12579[LinkedList$Entry.previous]o12581:0:0, o12581[LinkedList$Entry.previous]o12581:0:0, o12579[LinkedList$Entry.previous]o12579:0:0) -> f7566_0_entry_LE(c2, i4133:0:0, o12581[LinkedList$Entry.previous]o12790:0:0, o12581[LinkedList$Entry.next]o12581:0:0, o12790[LinkedList$Entry.previous]o12581:0:0, o12581[LinkedList$Entry.previous]o12581:0:0, o12790[LinkedList$Entry.previous]o12790:0:0) :|: c2 = i4330:0:0 - 1 && (o12790[LinkedList$Entry.previous]o12787:0:0 > -1 && i4330:0:0 - 1 > i4133:0:0 && o12790[LinkedList$Entry.previous]o12790:0:0 > o12790[LinkedList$Entry.previous]o12787:0:0 && i4330:0:0 > i4133:0:0 && o12790[LinkedList$Entry.previous]o12787:0:0 < o12579[LinkedList$Entry.previous]o12579:0:0 && o12581[LinkedList$Entry.previous]o12790:0:0 > o12581[LinkedList$Entry.previous]o12579:0:0 && o12581[LinkedList$Entry.previous]o12581:0:0 > 0 && o12790[LinkedList$Entry.previous]o12581:0:0 < o12579[LinkedList$Entry.previous]o12581:0:0 && o12581[LinkedList$Entry.next]o12581:0:0 > 0 && o12579[LinkedList$Entry.previous]o12579:0:0 > 0 && o12581[LinkedList$Entry.previous]o12579:0:0 > 0 && o12579[LinkedList$Entry.previous]o12581:0:0 > 0) 37.14/11.40 f7566_0_entry_LE(x57:0, x58:0, x59:0, x60:0, x59:0, x59:0, x59:0) -> f7566_0_entry_LE(c3, x58:0, c4, c5, c6, c7, c8) :|: c8 = 1 && (c7 = 1 && (c6 = 1 && (c5 = 1 && (c4 = 1 && c3 = x57:0 - 1)))) && (x59:0 > -1 && x58:0 < x57:0 - 1 && x58:0 < x57:0 && x63:0 < x59:0 && x60:0 > -1 && x62:0 < x60:0) 37.14/11.40 f7566_0_entry_LE(x30:0, x31:0, x32:0, x33:0, x32:0, x32:0, x32:0) -> f7566_0_entry_LE(c9, x31:0, c10, x35:0, c11, c12, c13) :|: c13 = 1 && (c12 = 1 && (c11 = 1 && (c10 = 1 && c9 = x30:0 - 1))) && (x36:0 > 0 && x31:0 < x30:0 - 1 && x32:0 > -1 && x31:0 < x30:0 && x37:0 < x32:0 && x33:0 > -1 && x36:0 < x33:0) 37.14/11.40 f7566_0_entry_LE(x48:0, x49:0, x50:0, x51:0, x50:0, x50:0, x50:0) -> f7566_0_entry_LE(c14, x49:0, c15, c16, x53:0, x54:0, x55:0) :|: c16 = 1 && (c15 = 1 && c14 = x48:0 - 1) && (x53:0 > 0 && x49:0 < x48:0 - 1 && x50:0 > -1 && x49:0 < x48:0 && x53:0 < x50:0 && x51:0 > -1 && x56:0 < x51:0) 37.14/11.40 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (124) RankingReductionPairProof (EQUIVALENT) 37.14/11.40 Interpretation: 37.14/11.40 [ f7566_0_entry_LE ] = -1*f7566_0_entry_LE_2 + f7566_0_entry_LE_1 37.14/11.40 37.14/11.40 The following rules are decreasing: 37.14/11.40 f7566_0_entry_LE(x38:0, x39:0, x40:0, x41:0, x40:0, x40:0, x40:0) -> f7566_0_entry_LE(c, x39:0, c1, x43:0, x44:0, x45:0, x46:0) :|: c1 = 1 && c = x38:0 - 1 && (x44:0 > 0 && x39:0 < x38:0 - 1 && x47:0 > 0 && x40:0 > -1 && x39:0 < x38:0 && x44:0 < x40:0 && x41:0 > -1 && x47:0 < x41:0) 37.14/11.40 f7566_0_entry_LE(i4330:0:0, i4133:0:0, o12581[LinkedList$Entry.previous]o12579:0:0, o12581[LinkedList$Entry.next]o12581:0:0, o12579[LinkedList$Entry.previous]o12581:0:0, o12581[LinkedList$Entry.previous]o12581:0:0, o12579[LinkedList$Entry.previous]o12579:0:0) -> f7566_0_entry_LE(c2, i4133:0:0, o12581[LinkedList$Entry.previous]o12790:0:0, o12581[LinkedList$Entry.next]o12581:0:0, o12790[LinkedList$Entry.previous]o12581:0:0, o12581[LinkedList$Entry.previous]o12581:0:0, o12790[LinkedList$Entry.previous]o12790:0:0) :|: c2 = i4330:0:0 - 1 && (o12790[LinkedList$Entry.previous]o12787:0:0 > -1 && i4330:0:0 - 1 > i4133:0:0 && o12790[LinkedList$Entry.previous]o12790:0:0 > o12790[LinkedList$Entry.previous]o12787:0:0 && i4330:0:0 > i4133:0:0 && o12790[LinkedList$Entry.previous]o12787:0:0 < o12579[LinkedList$Entry.previous]o12579:0:0 && o12581[LinkedList$Entry.previous]o12790:0:0 > o12581[LinkedList$Entry.previous]o12579:0:0 && o12581[LinkedList$Entry.previous]o12581:0:0 > 0 && o12790[LinkedList$Entry.previous]o12581:0:0 < o12579[LinkedList$Entry.previous]o12581:0:0 && o12581[LinkedList$Entry.next]o12581:0:0 > 0 && o12579[LinkedList$Entry.previous]o12579:0:0 > 0 && o12581[LinkedList$Entry.previous]o12579:0:0 > 0 && o12579[LinkedList$Entry.previous]o12581:0:0 > 0) 37.14/11.40 f7566_0_entry_LE(x57:0, x58:0, x59:0, x60:0, x59:0, x59:0, x59:0) -> f7566_0_entry_LE(c3, x58:0, c4, c5, c6, c7, c8) :|: c8 = 1 && (c7 = 1 && (c6 = 1 && (c5 = 1 && (c4 = 1 && c3 = x57:0 - 1)))) && (x59:0 > -1 && x58:0 < x57:0 - 1 && x58:0 < x57:0 && x63:0 < x59:0 && x60:0 > -1 && x62:0 < x60:0) 37.14/11.40 f7566_0_entry_LE(x30:0, x31:0, x32:0, x33:0, x32:0, x32:0, x32:0) -> f7566_0_entry_LE(c9, x31:0, c10, x35:0, c11, c12, c13) :|: c13 = 1 && (c12 = 1 && (c11 = 1 && (c10 = 1 && c9 = x30:0 - 1))) && (x36:0 > 0 && x31:0 < x30:0 - 1 && x32:0 > -1 && x31:0 < x30:0 && x37:0 < x32:0 && x33:0 > -1 && x36:0 < x33:0) 37.14/11.40 f7566_0_entry_LE(x48:0, x49:0, x50:0, x51:0, x50:0, x50:0, x50:0) -> f7566_0_entry_LE(c14, x49:0, c15, c16, x53:0, x54:0, x55:0) :|: c16 = 1 && (c15 = 1 && c14 = x48:0 - 1) && (x53:0 > 0 && x49:0 < x48:0 - 1 && x50:0 > -1 && x49:0 < x48:0 && x53:0 < x50:0 && x51:0 > -1 && x56:0 < x51:0) 37.14/11.40 37.14/11.40 The following rules are bounded: 37.14/11.40 f7566_0_entry_LE(x38:0, x39:0, x40:0, x41:0, x40:0, x40:0, x40:0) -> f7566_0_entry_LE(c, x39:0, c1, x43:0, x44:0, x45:0, x46:0) :|: c1 = 1 && c = x38:0 - 1 && (x44:0 > 0 && x39:0 < x38:0 - 1 && x47:0 > 0 && x40:0 > -1 && x39:0 < x38:0 && x44:0 < x40:0 && x41:0 > -1 && x47:0 < x41:0) 37.14/11.40 f7566_0_entry_LE(i4330:0:0, i4133:0:0, o12581[LinkedList$Entry.previous]o12579:0:0, o12581[LinkedList$Entry.next]o12581:0:0, o12579[LinkedList$Entry.previous]o12581:0:0, o12581[LinkedList$Entry.previous]o12581:0:0, o12579[LinkedList$Entry.previous]o12579:0:0) -> f7566_0_entry_LE(c2, i4133:0:0, o12581[LinkedList$Entry.previous]o12790:0:0, o12581[LinkedList$Entry.next]o12581:0:0, o12790[LinkedList$Entry.previous]o12581:0:0, o12581[LinkedList$Entry.previous]o12581:0:0, o12790[LinkedList$Entry.previous]o12790:0:0) :|: c2 = i4330:0:0 - 1 && (o12790[LinkedList$Entry.previous]o12787:0:0 > -1 && i4330:0:0 - 1 > i4133:0:0 && o12790[LinkedList$Entry.previous]o12790:0:0 > o12790[LinkedList$Entry.previous]o12787:0:0 && i4330:0:0 > i4133:0:0 && o12790[LinkedList$Entry.previous]o12787:0:0 < o12579[LinkedList$Entry.previous]o12579:0:0 && o12581[LinkedList$Entry.previous]o12790:0:0 > o12581[LinkedList$Entry.previous]o12579:0:0 && o12581[LinkedList$Entry.previous]o12581:0:0 > 0 && o12790[LinkedList$Entry.previous]o12581:0:0 < o12579[LinkedList$Entry.previous]o12581:0:0 && o12581[LinkedList$Entry.next]o12581:0:0 > 0 && o12579[LinkedList$Entry.previous]o12579:0:0 > 0 && o12581[LinkedList$Entry.previous]o12579:0:0 > 0 && o12579[LinkedList$Entry.previous]o12581:0:0 > 0) 37.14/11.40 f7566_0_entry_LE(x57:0, x58:0, x59:0, x60:0, x59:0, x59:0, x59:0) -> f7566_0_entry_LE(c3, x58:0, c4, c5, c6, c7, c8) :|: c8 = 1 && (c7 = 1 && (c6 = 1 && (c5 = 1 && (c4 = 1 && c3 = x57:0 - 1)))) && (x59:0 > -1 && x58:0 < x57:0 - 1 && x58:0 < x57:0 && x63:0 < x59:0 && x60:0 > -1 && x62:0 < x60:0) 37.14/11.40 f7566_0_entry_LE(x30:0, x31:0, x32:0, x33:0, x32:0, x32:0, x32:0) -> f7566_0_entry_LE(c9, x31:0, c10, x35:0, c11, c12, c13) :|: c13 = 1 && (c12 = 1 && (c11 = 1 && (c10 = 1 && c9 = x30:0 - 1))) && (x36:0 > 0 && x31:0 < x30:0 - 1 && x32:0 > -1 && x31:0 < x30:0 && x37:0 < x32:0 && x33:0 > -1 && x36:0 < x33:0) 37.14/11.40 f7566_0_entry_LE(x48:0, x49:0, x50:0, x51:0, x50:0, x50:0, x50:0) -> f7566_0_entry_LE(c14, x49:0, c15, c16, x53:0, x54:0, x55:0) :|: c16 = 1 && (c15 = 1 && c14 = x48:0 - 1) && (x53:0 > 0 && x49:0 < x48:0 - 1 && x50:0 > -1 && x49:0 < x48:0 && x53:0 < x50:0 && x51:0 > -1 && x56:0 < x51:0) 37.14/11.40 37.14/11.40 37.14/11.40 ---------------------------------------- 37.14/11.40 37.14/11.40 (125) 37.14/11.40 YES 37.85/11.67 EOF