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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The twelve methods described above are summarized in the 37.41/13.01 * following table: 37.41/13.01 * 37.41/13.01 *

37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 *
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()}
37.41/13.01 * 37.41/13.01 *

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

37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 *
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()}
37.41/13.01 * 37.41/13.01 *

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

37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 * 37.41/13.01 *
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()}
37.41/13.01 * 37.41/13.01 *

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

37.41/13.02 * 37.41/13.02 *

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

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

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

37.62/13.02 * 37.62/13.02 *

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

37.62/13.02	 *   List list = Collections.synchronizedList(new LinkedList(...));
37.62/13.02 * 37.62/13.02 *

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 * 37.62/13.03 *
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()}
37.62/13.03 * 37.62/13.03 *

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The twelve methods described above are summarized in the 37.62/13.05 * following table: 37.62/13.05 * 37.62/13.05 *

37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 *
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()}
37.62/13.05 * 37.62/13.05 *

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

37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 *
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()}
37.62/13.05 * 37.62/13.05 *

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

37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 * 37.62/13.05 *
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()}
37.62/13.05 * 37.62/13.05 *

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

37.62/13.05 * 37.62/13.05 *

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

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

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

37.62/13.05 * 37.62/13.05 *

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

37.62/13.05	 *   List list = Collections.synchronizedList(new LinkedList(...));
37.62/13.05 * 37.62/13.05 *

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 * 37.72/13.06 *
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()}
37.72/13.06 * 37.72/13.06 *

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

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

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

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

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

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

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

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

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

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

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

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

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

Note that the detail message associated with cause is 37.72/13.06 * not automatically incorporated in this exception's detail 37.72/13.06 * message. 37.72/13.06 * 37.72/13.06 * @param message the detail message (which is saved for later retrieval 37.72/13.06 * by the {@link Throwable#getMessage()} method). 37.72/13.06 * @param cause the cause (which is saved for later retrieval by the 37.72/13.06 * {@link Throwable#getCause()} method). (A null value 37.72/13.06 * is permitted, and indicates that the cause is nonexistent or 37.72/13.06 * unknown.) 37.72/13.06 * @since 1.5 37.72/13.06 */ 37.72/13.06 public UnsupportedOperationException(String message, Throwable cause) { 37.72/13.06 super(message, cause); 37.72/13.06 } 37.72/13.06 37.72/13.06 /** 37.72/13.06 * Constructs a new exception with the specified cause and a detail 37.72/13.06 * message of (cause==null ? null : cause.toString()) (which 37.72/13.06 * typically contains the class and detail message of cause). 37.72/13.06 * This constructor is useful for exceptions that are little more than 37.72/13.06 * wrappers for other throwables (for example, {@link 37.72/13.06 * java.security.PrivilegedActionException}). 37.72/13.06 * 37.72/13.06 * @param cause the cause (which is saved for later retrieval by the 37.72/13.06 * {@link Throwable#getCause()} method). (A null value is 37.72/13.06 * permitted, and indicates that the cause is nonexistent or 37.72/13.06 * unknown.) 37.72/13.06 * @since 1.5 37.72/13.06 */ 37.72/13.06 public UnsupportedOperationException(Throwable cause) { 37.72/13.06 super(cause); 37.72/13.06 } 37.72/13.06 37.72/13.06 static final long serialVersionUID = -1242599979055084673L; 37.72/13.06 } 37.72/13.06 37.72/13.06 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (3) JBCToGraph (EQUIVALENT) 37.72/13.06 Constructed TerminationGraph. 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (4) 37.72/13.06 Obligation: 37.72/13.06 Termination Graph based on JBC Program: 37.72/13.06 javaUtilEx.juLinkedListCreateIndexOf.main([Ljava/lang/String;)V: Graph of 1030 nodes with 8 SCCs. 37.72/13.06 37.72/13.06 37.72/13.06 37.72/13.06 javaUtilEx.juLinkedListCreateIndexOf.createList(I)LjavaUtilEx/LinkedList;: Graph of 250 nodes with 1 SCC. 37.72/13.06 37.72/13.06 37.72/13.06 37.72/13.06 javaUtilEx.Content.equals(Ljava/lang/Object;)Z: Graph of 32 nodes with 0 SCCs. 37.72/13.06 37.72/13.06 37.72/13.06 37.72/13.06 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (5) TerminationGraphToSCCProof (SOUND) 37.72/13.06 Splitted TerminationGraph to 9 SCCss. 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (6) 37.72/13.06 Complex Obligation (AND) 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (7) 37.72/13.06 Obligation: 37.72/13.06 SCC of termination graph based on JBC Program. 37.72/13.06 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateIndexOf.createList(I)LjavaUtilEx/LinkedList; 37.72/13.06 SCC calls the following helper methods: 37.72/13.06 Performed SCC analyses: 37.72/13.06 *Used field analysis yielded the following read fields: 37.72/13.06 *java.lang.String: [count] 37.72/13.06 *javaUtilEx.LinkedList: [header, size] 37.72/13.06 *javaUtilEx.LinkedList$Entry: [previous, next] 37.72/13.06 *javaUtilEx.AbstractList: [modCount] 37.72/13.06 *Marker field analysis yielded the following relations that could be markers: 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (8) SCCToIRSProof (SOUND) 37.72/13.06 Transformed FIGraph SCCs to intTRSs. Log: 37.72/13.06 Generated rules. Obtained 118 IRulesP rules: 37.72/13.06 f7537_0_createList_LE(EOS(STATIC_7537(java.lang.Object(o12414sub), i4322)), i4337, i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7545_0_createList_LE(EOS(STATIC_7545(java.lang.Object(o12414sub), i4322)), i4337, i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7545_0_createList_LE(EOS(STATIC_7545(java.lang.Object(o12414sub), i4322)), i4337, i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7554_0_createList_Load(EOS(STATIC_7554(java.lang.Object(o12414sub), i4322)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: i4337 > 0 37.72/13.06 f7554_0_createList_Load(EOS(STATIC_7554(java.lang.Object(o12414sub), i4322)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7562_0_createList_New(EOS(STATIC_7562(java.lang.Object(o12414sub), i4322)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7562_0_createList_New(EOS(STATIC_7562(java.lang.Object(o12414sub), i4322)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7570_0_createList_Duplicate(EOS(STATIC_7570(java.lang.Object(o12414sub), i4322)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7570_0_createList_Duplicate(EOS(STATIC_7570(java.lang.Object(o12414sub), i4322)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7579_0_createList_InvokeMethod(EOS(STATIC_7579(java.lang.Object(o12414sub), i4322)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7579_0_createList_InvokeMethod(EOS(STATIC_7579(java.lang.Object(o12414sub), i4322)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7587_0_random_FieldAccess(EOS(STATIC_7587(java.lang.Object(o12414sub), i4322)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7587_0_random_FieldAccess(EOS(STATIC_7587(java.lang.Object(o12414sub), i4322)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7598_0_random_FieldAccess(EOS(STATIC_7598(java.lang.Object(o12414sub), i4322)), i4337, java.lang.Object(o12414sub), o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7598_0_random_FieldAccess(EOS(STATIC_7598(java.lang.Object(o12414sub), i4322)), i4337, java.lang.Object(o12414sub), o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7605_0_random_ArrayAccess(EOS(STATIC_7605(java.lang.Object(o12414sub), i4322)), i4337, java.lang.Object(o12414sub), i4322, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7605_0_random_ArrayAccess(EOS(STATIC_7605(java.lang.Object(ARRAY(i4374)), i4322)), i4337, java.lang.Object(ARRAY(i4374)), i4322, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7611_0_random_ArrayAccess(EOS(STATIC_7611(java.lang.Object(ARRAY(i4374)), i4322)), i4337, java.lang.Object(ARRAY(i4374)), i4322, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: i4374 >= 0 37.72/13.06 f7611_0_random_ArrayAccess(EOS(STATIC_7611(java.lang.Object(ARRAY(i4374)), i4378)), i4337, java.lang.Object(ARRAY(i4374)), i4378, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7619_0_random_ArrayAccess(EOS(STATIC_7619(java.lang.Object(ARRAY(i4374)), i4378)), i4337, java.lang.Object(ARRAY(i4374)), i4378, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7619_0_random_ArrayAccess(EOS(STATIC_7619(java.lang.Object(ARRAY(i4374)), i4378)), i4337, java.lang.Object(ARRAY(i4374)), i4378, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7630_0_random_ArrayAccess(EOS(STATIC_7630(java.lang.Object(ARRAY(i4374)), i4378)), i4337, java.lang.Object(ARRAY(i4374)), i4378, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7630_0_random_ArrayAccess(EOS(STATIC_7630(java.lang.Object(ARRAY(i4374)), i4378)), i4337, java.lang.Object(ARRAY(i4374)), i4378, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7637_0_random_Store(EOS(STATIC_7637(java.lang.Object(ARRAY(i4374)), i4378)), i4337, o12834, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: i4378 < i4374 37.72/13.06 f7637_0_random_Store(EOS(STATIC_7637(java.lang.Object(ARRAY(i4374)), i4378)), i4337, o12834, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7645_0_random_FieldAccess(EOS(STATIC_7645(java.lang.Object(ARRAY(i4374)), i4378)), i4337, o12834, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7645_0_random_FieldAccess(EOS(STATIC_7645(java.lang.Object(ARRAY(i4374)), i4378)), i4337, o12834, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7652_0_random_ConstantStackPush(EOS(STATIC_7652(java.lang.Object(ARRAY(i4374)), i4378)), i4337, o12834, i4378, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7652_0_random_ConstantStackPush(EOS(STATIC_7652(java.lang.Object(ARRAY(i4374)), i4378)), i4337, o12834, i4378, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7660_0_random_IntArithmetic(EOS(STATIC_7660(java.lang.Object(ARRAY(i4374)), i4378)), i4337, o12834, i4378, 1, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7660_0_random_IntArithmetic(EOS(STATIC_7660(java.lang.Object(ARRAY(i4374)), i4378)), i4337, o12834, i4378, matching1, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7670_0_random_FieldAccess(EOS(STATIC_7670(java.lang.Object(ARRAY(i4374)), i4378)), i4337, o12834, i4378 + 1, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: i4378 >= 0 && matching1 = 1 37.72/13.06 f7670_0_random_FieldAccess(EOS(STATIC_7670(java.lang.Object(ARRAY(i4374)), i4378)), i4337, o12834, i4473, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7677_0_random_Load(EOS(STATIC_7677(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12834, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7677_0_random_Load(EOS(STATIC_7677(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12834, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7684_0_random_InvokeMethod(EOS(STATIC_7684(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12834, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7684_0_random_InvokeMethod(EOS(STATIC_7684(java.lang.Object(ARRAY(i4374)), i4473)), i4337, java.lang.Object(o13025sub), o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7694_0_random_InvokeMethod(EOS(STATIC_7694(java.lang.Object(ARRAY(i4374)), i4473)), i4337, java.lang.Object(o13025sub), o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7694_0_random_InvokeMethod(EOS(STATIC_7694(java.lang.Object(ARRAY(i4374)), i4473)), i4337, java.lang.Object(o13045sub), o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7705_0_random_InvokeMethod(EOS(STATIC_7705(java.lang.Object(ARRAY(i4374)), i4473)), i4337, java.lang.Object(o13045sub), o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7705_0_random_InvokeMethod(EOS(STATIC_7705(java.lang.Object(ARRAY(i4374)), i4473)), i4337, java.lang.Object(o13045sub), o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7718_0_length_Load(EOS(STATIC_7718(java.lang.Object(ARRAY(i4374)), i4473)), i4337, java.lang.Object(o13045sub), o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7718_0_length_Load(EOS(STATIC_7718(java.lang.Object(ARRAY(i4374)), i4473)), i4337, java.lang.Object(o13045sub), o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7747_0_length_FieldAccess(EOS(STATIC_7747(java.lang.Object(ARRAY(i4374)), i4473)), i4337, java.lang.Object(o13045sub), o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7747_0_length_FieldAccess(EOS(STATIC_7747(java.lang.Object(ARRAY(i4374)), i4473)), i4337, java.lang.Object(java.lang.String(EOC, i4492)), o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7763_0_length_FieldAccess(EOS(STATIC_7763(java.lang.Object(ARRAY(i4374)), i4473)), i4337, java.lang.Object(java.lang.String(EOC, i4492)), o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7763_0_length_FieldAccess(EOS(STATIC_7763(java.lang.Object(ARRAY(i4374)), i4473)), i4337, java.lang.Object(java.lang.String(EOC, i4492)), o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7777_0_length_Return(EOS(STATIC_7777(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7777_0_length_Return(EOS(STATIC_7777(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7787_0_random_Return(EOS(STATIC_7787(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7787_0_random_Return(EOS(STATIC_7787(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7800_0_createList_InvokeMethod(EOS(STATIC_7800(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7800_0_createList_InvokeMethod(EOS(STATIC_7800(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7809_0__init__Load(EOS(STATIC_7809(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7809_0__init__Load(EOS(STATIC_7809(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7831_0__init__InvokeMethod(EOS(STATIC_7831(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7831_0__init__InvokeMethod(EOS(STATIC_7831(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7843_0__init__Load(EOS(STATIC_7843(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7843_0__init__Load(EOS(STATIC_7843(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7855_0__init__Load(EOS(STATIC_7855(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7855_0__init__Load(EOS(STATIC_7855(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7869_0__init__FieldAccess(EOS(STATIC_7869(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7869_0__init__FieldAccess(EOS(STATIC_7869(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7889_0__init__Return(EOS(STATIC_7889(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7889_0__init__Return(EOS(STATIC_7889(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7915_0_createList_InvokeMethod(EOS(STATIC_7915(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7915_0_createList_InvokeMethod(EOS(STATIC_7915(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7939_0_addLast_Load(EOS(STATIC_7939(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7939_0_addLast_Load(EOS(STATIC_7939(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7981_0_addLast_Load(EOS(STATIC_7981(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f7981_0_addLast_Load(EOS(STATIC_7981(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8004_0_addLast_Load(EOS(STATIC_8004(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8004_0_addLast_Load(EOS(STATIC_8004(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8021_0_addLast_FieldAccess(EOS(STATIC_8021(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8021_0_addLast_FieldAccess(EOS(STATIC_8021(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8036_0_addLast_InvokeMethod(EOS(STATIC_8036(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8036_0_addLast_InvokeMethod(EOS(STATIC_8036(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8050_0_addBefore_New(EOS(STATIC_8050(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8050_0_addBefore_New(EOS(STATIC_8050(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8070_0_addBefore_Duplicate(EOS(STATIC_8070(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8070_0_addBefore_Duplicate(EOS(STATIC_8070(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8084_0_addBefore_Load(EOS(STATIC_8084(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8084_0_addBefore_Load(EOS(STATIC_8084(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8099_0_addBefore_Load(EOS(STATIC_8099(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8099_0_addBefore_Load(EOS(STATIC_8099(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8114_0_addBefore_Load(EOS(STATIC_8114(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8114_0_addBefore_Load(EOS(STATIC_8114(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8121_0_addBefore_FieldAccess(EOS(STATIC_8121(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8121_0_addBefore_FieldAccess(EOS(STATIC_8121(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8127_0_addBefore_FieldAccess(EOS(STATIC_8127(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: o12419[LinkedList$Entry.next]o12419 > 0 && o12419[LinkedList$Entry.next]o12417 > 0 && o12419[LinkedList$Entry.previous]o12417 > 0 && o12419[LinkedList$Entry.previous]o12419 > 0 37.72/13.06 f8127_0_addBefore_FieldAccess(EOS(STATIC_8127(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8138_0_addBefore_FieldAccess(EOS(STATIC_8138(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: o12418[LinkedList$Entry.previous]o12418 > 0 && o12418[LinkedList$Entry.previous]o12417 > 0 37.72/13.06 f8138_0_addBefore_FieldAccess(EOS(STATIC_8138(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8150_0_addBefore_FieldAccess(EOS(STATIC_8150(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: o12420[LinkedList$Entry.previous]o12417 > 0 && o12420[LinkedList$Entry.previous]o12420 > 0 37.72/13.06 f8150_0_addBefore_FieldAccess(EOS(STATIC_8150(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8165_0_addBefore_InvokeMethod(EOS(STATIC_8165(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8165_0_addBefore_InvokeMethod(EOS(STATIC_8165(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8182_0__init__Load(EOS(STATIC_8182(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8182_0__init__Load(EOS(STATIC_8182(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8217_0__init__InvokeMethod(EOS(STATIC_8217(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8217_0__init__InvokeMethod(EOS(STATIC_8217(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8238_0__init__Load(EOS(STATIC_8238(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8238_0__init__Load(EOS(STATIC_8238(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8256_0__init__Load(EOS(STATIC_8256(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8256_0__init__Load(EOS(STATIC_8256(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8300_0__init__FieldAccess(EOS(STATIC_8300(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8300_0__init__FieldAccess(EOS(STATIC_8300(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8318_0__init__Load(EOS(STATIC_8318(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8318_0__init__Load(EOS(STATIC_8318(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8338_0__init__Load(EOS(STATIC_8338(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8338_0__init__Load(EOS(STATIC_8338(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8359_0__init__FieldAccess(EOS(STATIC_8359(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8359_0__init__FieldAccess(EOS(STATIC_8359(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8379_0__init__Load(EOS(STATIC_8379(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8379_0__init__Load(EOS(STATIC_8379(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8398_0__init__Load(EOS(STATIC_8398(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8398_0__init__Load(EOS(STATIC_8398(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8414_0__init__FieldAccess(EOS(STATIC_8414(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8414_0__init__FieldAccess(EOS(STATIC_8414(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8427_0__init__Return(EOS(STATIC_8427(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8427_0__init__Return(EOS(STATIC_8427(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8440_0_addBefore_Store(EOS(STATIC_8440(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8440_0_addBefore_Store(EOS(STATIC_8440(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8455_0_addBefore_Load(EOS(STATIC_8455(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8455_0_addBefore_Load(EOS(STATIC_8455(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8471_0_addBefore_FieldAccess(EOS(STATIC_8471(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8471_0_addBefore_FieldAccess(EOS(STATIC_8471(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8490_0_addBefore_Load(EOS(STATIC_8490(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8490_0_addBefore_Load(EOS(STATIC_8490(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8507_0_addBefore_FieldAccess(EOS(STATIC_8507(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8507_0_addBefore_FieldAccess(EOS(STATIC_8507(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f8523_0_addBefore_FieldAccess(EOS(STATIC_8523(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: o12419[LinkedList$Entry.next]o12419 > 0 && o12420[LinkedList$Entry.previous]o12419 > 0 && o12419[LinkedList$Entry.previous]o12419 > 0 && o12419[LinkedList$Entry.next]o12420 > 0 && o12419[LinkedList$Entry.previous]o12420 > 0 && o12420[LinkedList$Entry.previous]o12420 > 0 37.72/13.06 f8507_0_addBefore_FieldAccess(EOS(STATIC_8507(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.next]o12418, o17955[LinkedList$Entry.previous]o12418, o17955[LinkedList$Entry.previous]o12418, o17955[LinkedList$Entry.next]o17955, o17955[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.next]o17955, o17955[LinkedList$Entry.previous]o17955, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8524_0_addBefore_FieldAccess(EOS(STATIC_8524(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8523_0_addBefore_FieldAccess(EOS(STATIC_8523(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8534_0_addBefore_FieldAccess(EOS(STATIC_8534(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: o12420[LinkedList$Entry.previous]o12418 > 0 && o12418[LinkedList$Entry.previous]o12418 > 0 && o12418[LinkedList$Entry.previous]o12420 > 0 && o12420[LinkedList$Entry.previous]o12420 > 0 37.72/13.06 f8534_0_addBefore_FieldAccess(EOS(STATIC_8534(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8549_0_addBefore_Load(EOS(STATIC_8549(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8549_0_addBefore_Load(EOS(STATIC_8549(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8560_0_addBefore_FieldAccess(EOS(STATIC_8560(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8560_0_addBefore_FieldAccess(EOS(STATIC_8560(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8572_0_addBefore_Load(EOS(STATIC_8572(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8572_0_addBefore_Load(EOS(STATIC_8572(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8585_0_addBefore_FieldAccess(EOS(STATIC_8585(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8585_0_addBefore_FieldAccess(EOS(STATIC_8585(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8600_0_addBefore_Load(EOS(STATIC_8600(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8600_0_addBefore_Load(EOS(STATIC_8600(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8617_0_addBefore_Duplicate(EOS(STATIC_8617(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8617_0_addBefore_Duplicate(EOS(STATIC_8617(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8634_0_addBefore_FieldAccess(EOS(STATIC_8634(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8634_0_addBefore_FieldAccess(EOS(STATIC_8634(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8644_0_addBefore_ConstantStackPush(EOS(STATIC_8644(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8644_0_addBefore_ConstantStackPush(EOS(STATIC_8644(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8671_0_addBefore_IntArithmetic(EOS(STATIC_8671(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8671_0_addBefore_IntArithmetic(EOS(STATIC_8671(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8686_0_addBefore_FieldAccess(EOS(STATIC_8686(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8686_0_addBefore_FieldAccess(EOS(STATIC_8686(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8701_0_addBefore_Load(EOS(STATIC_8701(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8701_0_addBefore_Load(EOS(STATIC_8701(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8717_0_addBefore_Duplicate(EOS(STATIC_8717(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8717_0_addBefore_Duplicate(EOS(STATIC_8717(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8728_0_addBefore_FieldAccess(EOS(STATIC_8728(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8728_0_addBefore_FieldAccess(EOS(STATIC_8728(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8742_0_addBefore_ConstantStackPush(EOS(STATIC_8742(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8742_0_addBefore_ConstantStackPush(EOS(STATIC_8742(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8764_0_addBefore_IntArithmetic(EOS(STATIC_8764(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8764_0_addBefore_IntArithmetic(EOS(STATIC_8764(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8782_0_addBefore_FieldAccess(EOS(STATIC_8782(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8782_0_addBefore_FieldAccess(EOS(STATIC_8782(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8800_0_addBefore_Load(EOS(STATIC_8800(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8800_0_addBefore_Load(EOS(STATIC_8800(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8815_0_addBefore_Return(EOS(STATIC_8815(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8815_0_addBefore_Return(EOS(STATIC_8815(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8829_0_addLast_StackPop(EOS(STATIC_8829(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8829_0_addLast_StackPop(EOS(STATIC_8829(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8845_0_addLast_Return(EOS(STATIC_8845(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8845_0_addLast_Return(EOS(STATIC_8845(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8860_0_createList_Inc(EOS(STATIC_8860(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8860_0_createList_Inc(EOS(STATIC_8860(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8876_0_createList_JMP(EOS(STATIC_8876(java.lang.Object(ARRAY(i4374)), i4473)), i4337 + -1, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8876_0_createList_JMP(EOS(STATIC_8876(java.lang.Object(ARRAY(i4374)), i4473)), i6605, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f8892_0_createList_Load(EOS(STATIC_8892(java.lang.Object(ARRAY(i4374)), i4473)), i6605, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8892_0_createList_Load(EOS(STATIC_8892(java.lang.Object(ARRAY(i4374)), i4473)), i6605, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420, o12419[LinkedList$Entry.previous]o12420) -> f7530_0_createList_Load(EOS(STATIC_7530(java.lang.Object(ARRAY(i4374)), i4473)), i6605, o12419[LinkedList$Entry.next]o12418, o14372[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o14372[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o14372[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o14372, o12419[LinkedList$Entry.previous]o14372, o12418[LinkedList$Entry.previous]o14372, o14372[LinkedList$Entry.previous]o14372) :|: TRUE 37.72/13.06 f7530_0_createList_Load(EOS(STATIC_7530(java.lang.Object(o12414sub), i4322)), i4324, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) -> f7537_0_createList_LE(EOS(STATIC_7537(java.lang.Object(o12414sub), i4322)), i4324, i4324, o12419[LinkedList$Entry.next]o12418, o12420[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.previous]o12418, o12419[LinkedList$Entry.next]o12419, o12419[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o12420[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o12419, o12420[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.previous]o12417, o12419[LinkedList$Entry.previous]o12419, o12419[LinkedList$Entry.next]o12420, o12419[LinkedList$Entry.previous]o12420, o12418[LinkedList$Entry.previous]o12420, o12420[LinkedList$Entry.previous]o12420) :|: TRUE 37.72/13.06 f8524_0_addBefore_FieldAccess(EOS(STATIC_8524(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8536_0_addBefore_FieldAccess(EOS(STATIC_8536(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: o17955[LinkedList$Entry.previous]o12418 > 0 && o12418[LinkedList$Entry.previous]o12418 > 0 && o12418[LinkedList$Entry.previous]o17955 > 0 && o17955[LinkedList$Entry.previous]o17955 > 0 37.72/13.06 f8536_0_addBefore_FieldAccess(EOS(STATIC_8536(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8550_0_addBefore_Load(EOS(STATIC_8550(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8550_0_addBefore_Load(EOS(STATIC_8550(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8561_0_addBefore_FieldAccess(EOS(STATIC_8561(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8561_0_addBefore_FieldAccess(EOS(STATIC_8561(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8573_0_addBefore_Load(EOS(STATIC_8573(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8573_0_addBefore_Load(EOS(STATIC_8573(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8586_0_addBefore_FieldAccess(EOS(STATIC_8586(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8586_0_addBefore_FieldAccess(EOS(STATIC_8586(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8601_0_addBefore_Load(EOS(STATIC_8601(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8601_0_addBefore_Load(EOS(STATIC_8601(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8618_0_addBefore_Duplicate(EOS(STATIC_8618(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8618_0_addBefore_Duplicate(EOS(STATIC_8618(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8635_0_addBefore_FieldAccess(EOS(STATIC_8635(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8635_0_addBefore_FieldAccess(EOS(STATIC_8635(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8645_0_addBefore_ConstantStackPush(EOS(STATIC_8645(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8645_0_addBefore_ConstantStackPush(EOS(STATIC_8645(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8672_0_addBefore_IntArithmetic(EOS(STATIC_8672(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8672_0_addBefore_IntArithmetic(EOS(STATIC_8672(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8687_0_addBefore_FieldAccess(EOS(STATIC_8687(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8687_0_addBefore_FieldAccess(EOS(STATIC_8687(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8702_0_addBefore_Load(EOS(STATIC_8702(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8702_0_addBefore_Load(EOS(STATIC_8702(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8718_0_addBefore_Duplicate(EOS(STATIC_8718(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8718_0_addBefore_Duplicate(EOS(STATIC_8718(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8729_0_addBefore_FieldAccess(EOS(STATIC_8729(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8729_0_addBefore_FieldAccess(EOS(STATIC_8729(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8743_0_addBefore_ConstantStackPush(EOS(STATIC_8743(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8743_0_addBefore_ConstantStackPush(EOS(STATIC_8743(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8765_0_addBefore_IntArithmetic(EOS(STATIC_8765(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8765_0_addBefore_IntArithmetic(EOS(STATIC_8765(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8783_0_addBefore_FieldAccess(EOS(STATIC_8783(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8783_0_addBefore_FieldAccess(EOS(STATIC_8783(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8801_0_addBefore_Load(EOS(STATIC_8801(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8801_0_addBefore_Load(EOS(STATIC_8801(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8816_0_addBefore_Return(EOS(STATIC_8816(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8816_0_addBefore_Return(EOS(STATIC_8816(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8830_0_addLast_StackPop(EOS(STATIC_8830(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8830_0_addLast_StackPop(EOS(STATIC_8830(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8846_0_addLast_Return(EOS(STATIC_8846(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8846_0_addLast_Return(EOS(STATIC_8846(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8861_0_createList_Inc(EOS(STATIC_8861(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8861_0_createList_Inc(EOS(STATIC_8861(java.lang.Object(ARRAY(i4374)), i4473)), i4337, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8877_0_createList_JMP(EOS(STATIC_8877(java.lang.Object(ARRAY(i4374)), i4473)), i4337 + -1, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8877_0_createList_JMP(EOS(STATIC_8877(java.lang.Object(ARRAY(i4374)), i4473)), i6606, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f8893_0_createList_Load(EOS(STATIC_8893(java.lang.Object(ARRAY(i4374)), i4473)), i6606, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) :|: TRUE 37.72/13.06 f8893_0_createList_Load(EOS(STATIC_8893(java.lang.Object(ARRAY(i4374)), i4473)), i6606, o17955[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o17955) -> f7530_0_createList_Load(EOS(STATIC_7530(java.lang.Object(ARRAY(i4374)), i4473)), i6606, o17955[LinkedList$Entry.next]o12418, o14372[LinkedList$Entry.previous]o12418, o17955[LinkedList$Entry.previous]o12418, o17955[LinkedList$Entry.next]o17955, o17955[LinkedList$Entry.next]o12417, o12418[LinkedList$Entry.previous]o12418, o12418[LinkedList$Entry.previous]o12417, o14372[LinkedList$Entry.previous]o12417, o12418[LinkedList$Entry.previous]o17955, o14372[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.previous]o12417, o17955[LinkedList$Entry.previous]o17955, o17955[LinkedList$Entry.next]o14372, o17955[LinkedList$Entry.previous]o14372, o12418[LinkedList$Entry.previous]o14372, o14372[LinkedList$Entry.previous]o14372) :|: o17955[LinkedList$Entry.next]o17955 = 4 && o14372[LinkedList$Entry.previous]o17955 = 1 && o17955[LinkedList$Entry.next]o14372 = 1 37.72/13.06 Combined rules. Obtained 2 IRulesP rules: 37.72/13.06 f7537_0_createList_LE(EOS(STATIC_7537(java.lang.Object(ARRAY(i4374:0)), i4322:0)), i4337:0, i4337:0, o12419[LinkedList$Entry.next]o12418:0, o12420[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.next]o12419:0, o12419[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o12420[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, o12420[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.previous]o12417:0, o12419[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.next]o12420:0, o12419[LinkedList$Entry.previous]o12420:0, o12418[LinkedList$Entry.previous]o12420:0, o12420[LinkedList$Entry.previous]o12420:0) -> f7537_0_createList_LE(EOS(STATIC_7537(java.lang.Object(ARRAY(i4374:0)), i4322:0 + 1)), i4337:0 - 1, i4337:0 - 1, o12419[LinkedList$Entry.next]o12418:0, o14372[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.next]o12419:0, o12419[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o14372[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, o14372[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.previous]o12417:0, o12419[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.next]o14372:0, o12419[LinkedList$Entry.previous]o14372:0, o12418[LinkedList$Entry.previous]o14372:0, o14372[LinkedList$Entry.previous]o14372:0) :|: i4337:0 > 0 && i4374:0 > -1 && i4374:0 > i4322:0 && i4322:0 > -1 && o12419[LinkedList$Entry.next]o12417:0 > 0 && o12419[LinkedList$Entry.next]o12419:0 > 0 && o12419[LinkedList$Entry.previous]o12417:0 > 0 && o12419[LinkedList$Entry.previous]o12419:0 > 0 && o12418[LinkedList$Entry.previous]o12417:0 > 0 && o12418[LinkedList$Entry.previous]o12418:0 > 0 && o12420[LinkedList$Entry.previous]o12420:0 > 0 && o12420[LinkedList$Entry.previous]o12417:0 > 0 && o12420[LinkedList$Entry.previous]o12419:0 > 0 && o12419[LinkedList$Entry.next]o12420:0 > 0 && o12420[LinkedList$Entry.previous]o12418:0 > 0 && o12419[LinkedList$Entry.previous]o12420:0 > 0 && o12418[LinkedList$Entry.previous]o12420:0 > 0 37.72/13.06 f7537_0_createList_LE(EOS(STATIC_7537(java.lang.Object(ARRAY(i4374:0)), i4322:0)), i4337:0, i4337:0, o12419[LinkedList$Entry.next]o12418:0, o12420[LinkedList$Entry.previous]o12418:0, o12420[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.next]o12419:0, o12419[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o12420[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, o12420[LinkedList$Entry.previous]o12419:0, o12420[LinkedList$Entry.previous]o12417:0, o12420[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.next]o12419:0, o12420[LinkedList$Entry.previous]o12419:0, o12418[LinkedList$Entry.previous]o12419:0, o12420[LinkedList$Entry.previous]o12419:0) -> f7537_0_createList_LE(EOS(STATIC_7537(java.lang.Object(ARRAY(i4374:0)), i4322:0 + 1)), i4337:0 - 1, i4337:0 - 1, o17955[LinkedList$Entry.next]o12418:0, o14372[LinkedList$Entry.previous]o12418:0, o12420[LinkedList$Entry.previous]o12418:0, 4, o17955[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o14372[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, 1, o12420[LinkedList$Entry.previous]o12417:0, o12420[LinkedList$Entry.previous]o12419:0, 1, o17955[LinkedList$Entry.previous]o14372:0, o12418[LinkedList$Entry.previous]o14372:0, o14372[LinkedList$Entry.previous]o14372:0) :|: i4337:0 > 0 && i4374:0 > -1 && i4374:0 > i4322:0 && i4322:0 > -1 && o12419[LinkedList$Entry.next]o12417:0 > 0 && o12419[LinkedList$Entry.next]o12419:0 > 0 && o12420[LinkedList$Entry.previous]o12417:0 > 0 && o12420[LinkedList$Entry.previous]o12419:0 > 0 && o12418[LinkedList$Entry.previous]o12417:0 > 0 && o12418[LinkedList$Entry.previous]o12418:0 > 0 && o12420[LinkedList$Entry.previous]o12418:0 > 0 && o12418[LinkedList$Entry.previous]o12419:0 > 0 37.72/13.06 Filtered duplicate arguments: 37.72/13.06 f7537_0_createList_LE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) -> f7537_0_createList_LE(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) 37.72/13.06 Filtered unneeded arguments: 37.72/13.06 f7537_0_createList_LE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) -> f7537_0_createList_LE(x1, x2, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) 37.72/13.06 Finished conversion. Obtained 2 rules.P rules: 37.72/13.06 f7537_0_createList_LE(i4337:0, o12420[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.next]o12419:0, o12419[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o12420[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, o12420[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.previous]o12417:0, o12419[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.next]o12420:0, o12419[LinkedList$Entry.previous]o12420:0, o12418[LinkedList$Entry.previous]o12420:0, o12420[LinkedList$Entry.previous]o12420:0, i4374:0, i4322:0) -> f7537_0_createList_LE(i4337:0 - 1, o14372[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.next]o12419:0, o12419[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o14372[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, o14372[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.previous]o12417:0, o12419[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.next]o14372:0, o12419[LinkedList$Entry.previous]o14372:0, o12418[LinkedList$Entry.previous]o14372:0, o14372[LinkedList$Entry.previous]o14372:0, i4374:0, i4322:0 + 1) :|: i4374:0 > -1 && i4337:0 > 0 && i4374:0 > i4322:0 && i4322:0 > -1 && o12419[LinkedList$Entry.next]o12417:0 > 0 && o12419[LinkedList$Entry.next]o12419:0 > 0 && o12419[LinkedList$Entry.previous]o12417:0 > 0 && o12419[LinkedList$Entry.previous]o12419:0 > 0 && o12418[LinkedList$Entry.previous]o12417:0 > 0 && o12418[LinkedList$Entry.previous]o12418:0 > 0 && o12420[LinkedList$Entry.previous]o12420:0 > 0 && o12420[LinkedList$Entry.previous]o12417:0 > 0 && o12420[LinkedList$Entry.previous]o12419:0 > 0 && o12419[LinkedList$Entry.next]o12420:0 > 0 && o12420[LinkedList$Entry.previous]o12418:0 > 0 && o12418[LinkedList$Entry.previous]o12420:0 > 0 && o12419[LinkedList$Entry.previous]o12420:0 > 0 37.72/13.06 f7537_0_createList_LE(i4337:0, o12420[LinkedList$Entry.previous]o12418:0, o12420[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.next]o12419:0, o12419[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o12420[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, o12420[LinkedList$Entry.previous]o12419:0, o12420[LinkedList$Entry.previous]o12417:0, o12420[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.next]o12419:0, o12420[LinkedList$Entry.previous]o12419:0, o12418[LinkedList$Entry.previous]o12419:0, o12420[LinkedList$Entry.previous]o12419:0, i4374:0, i4322:0) -> f7537_0_createList_LE(i4337:0 - 1, o14372[LinkedList$Entry.previous]o12418:0, o12420[LinkedList$Entry.previous]o12418:0, 4, o17955[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o14372[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, 1, o12420[LinkedList$Entry.previous]o12417:0, o12420[LinkedList$Entry.previous]o12419:0, 1, o17955[LinkedList$Entry.previous]o14372:0, o12418[LinkedList$Entry.previous]o14372:0, o14372[LinkedList$Entry.previous]o14372:0, i4374:0, i4322:0 + 1) :|: i4374:0 > -1 && i4337:0 > 0 && i4374:0 > i4322:0 && i4322:0 > -1 && o12419[LinkedList$Entry.next]o12417:0 > 0 && o12419[LinkedList$Entry.next]o12419:0 > 0 && o12420[LinkedList$Entry.previous]o12417:0 > 0 && o12420[LinkedList$Entry.previous]o12419:0 > 0 && o12418[LinkedList$Entry.previous]o12417:0 > 0 && o12418[LinkedList$Entry.previous]o12418:0 > 0 && o12418[LinkedList$Entry.previous]o12419:0 > 0 && o12420[LinkedList$Entry.previous]o12418:0 > 0 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (9) 37.72/13.06 Obligation: 37.72/13.06 Rules: 37.72/13.06 f7537_0_createList_LE(i4337:0, o12420[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.next]o12419:0, o12419[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o12420[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, o12420[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.previous]o12417:0, o12419[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.next]o12420:0, o12419[LinkedList$Entry.previous]o12420:0, o12418[LinkedList$Entry.previous]o12420:0, o12420[LinkedList$Entry.previous]o12420:0, i4374:0, i4322:0) -> f7537_0_createList_LE(i4337:0 - 1, o14372[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.next]o12419:0, o12419[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o14372[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, o14372[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.previous]o12417:0, o12419[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.next]o14372:0, o12419[LinkedList$Entry.previous]o14372:0, o12418[LinkedList$Entry.previous]o14372:0, o14372[LinkedList$Entry.previous]o14372:0, i4374:0, i4322:0 + 1) :|: i4374:0 > -1 && i4337:0 > 0 && i4374:0 > i4322:0 && i4322:0 > -1 && o12419[LinkedList$Entry.next]o12417:0 > 0 && o12419[LinkedList$Entry.next]o12419:0 > 0 && o12419[LinkedList$Entry.previous]o12417:0 > 0 && o12419[LinkedList$Entry.previous]o12419:0 > 0 && o12418[LinkedList$Entry.previous]o12417:0 > 0 && o12418[LinkedList$Entry.previous]o12418:0 > 0 && o12420[LinkedList$Entry.previous]o12420:0 > 0 && o12420[LinkedList$Entry.previous]o12417:0 > 0 && o12420[LinkedList$Entry.previous]o12419:0 > 0 && o12419[LinkedList$Entry.next]o12420:0 > 0 && o12420[LinkedList$Entry.previous]o12418:0 > 0 && o12418[LinkedList$Entry.previous]o12420:0 > 0 && o12419[LinkedList$Entry.previous]o12420:0 > 0 37.72/13.06 f7537_0_createList_LE(x, x1, x1, x2, x3, x4, x5, x6, x7, x8, x6, x8, x2, x8, x7, x8, x9, x10) -> f7537_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 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (10) IRSFormatTransformerProof (EQUIVALENT) 37.72/13.06 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (11) 37.72/13.06 Obligation: 37.72/13.06 Rules: 37.72/13.06 f7537_0_createList_LE(i4337:0, o12420[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.next]o12419:0, o12419[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o12420[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, o12420[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.previous]o12417:0, o12419[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.next]o12420:0, o12419[LinkedList$Entry.previous]o12420:0, o12418[LinkedList$Entry.previous]o12420:0, o12420[LinkedList$Entry.previous]o12420:0, i4374:0, i4322:0) -> f7537_0_createList_LE(arith, o14372[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.next]o12419:0, o12419[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o14372[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, o14372[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.previous]o12417:0, o12419[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.next]o14372:0, o12419[LinkedList$Entry.previous]o14372:0, o12418[LinkedList$Entry.previous]o14372:0, o14372[LinkedList$Entry.previous]o14372:0, i4374:0, arith1) :|: i4374:0 > -1 && i4337:0 > 0 && i4374:0 > i4322:0 && i4322:0 > -1 && o12419[LinkedList$Entry.next]o12417:0 > 0 && o12419[LinkedList$Entry.next]o12419:0 > 0 && o12419[LinkedList$Entry.previous]o12417:0 > 0 && o12419[LinkedList$Entry.previous]o12419:0 > 0 && o12418[LinkedList$Entry.previous]o12417:0 > 0 && o12418[LinkedList$Entry.previous]o12418:0 > 0 && o12420[LinkedList$Entry.previous]o12420:0 > 0 && o12420[LinkedList$Entry.previous]o12417:0 > 0 && o12420[LinkedList$Entry.previous]o12419:0 > 0 && o12419[LinkedList$Entry.next]o12420:0 > 0 && o12420[LinkedList$Entry.previous]o12418:0 > 0 && o12418[LinkedList$Entry.previous]o12420:0 > 0 && o12419[LinkedList$Entry.previous]o12420:0 > 0 && arith = i4337:0 - 1 && arith1 = i4322:0 + 1 37.72/13.06 f7537_0_createList_LE(x17, x18, x18, x19, x20, x21, x22, x23, x24, x25, x23, x25, x19, x25, x24, x25, x26, x27) -> f7537_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 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (12) IRSwTTerminationDigraphProof (EQUIVALENT) 37.72/13.06 Constructed termination digraph! 37.72/13.06 Nodes: 37.72/13.06 (1) f7537_0_createList_LE(i4337:0, o12420[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.next]o12419:0, o12419[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o12420[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, o12420[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.previous]o12417:0, o12419[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.next]o12420:0, o12419[LinkedList$Entry.previous]o12420:0, o12418[LinkedList$Entry.previous]o12420:0, o12420[LinkedList$Entry.previous]o12420:0, i4374:0, i4322:0) -> f7537_0_createList_LE(arith, o14372[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.next]o12419:0, o12419[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o14372[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, o14372[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.previous]o12417:0, o12419[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.next]o14372:0, o12419[LinkedList$Entry.previous]o14372:0, o12418[LinkedList$Entry.previous]o14372:0, o14372[LinkedList$Entry.previous]o14372:0, i4374:0, arith1) :|: i4374:0 > -1 && i4337:0 > 0 && i4374:0 > i4322:0 && i4322:0 > -1 && o12419[LinkedList$Entry.next]o12417:0 > 0 && o12419[LinkedList$Entry.next]o12419:0 > 0 && o12419[LinkedList$Entry.previous]o12417:0 > 0 && o12419[LinkedList$Entry.previous]o12419:0 > 0 && o12418[LinkedList$Entry.previous]o12417:0 > 0 && o12418[LinkedList$Entry.previous]o12418:0 > 0 && o12420[LinkedList$Entry.previous]o12420:0 > 0 && o12420[LinkedList$Entry.previous]o12417:0 > 0 && o12420[LinkedList$Entry.previous]o12419:0 > 0 && o12419[LinkedList$Entry.next]o12420:0 > 0 && o12420[LinkedList$Entry.previous]o12418:0 > 0 && o12418[LinkedList$Entry.previous]o12420:0 > 0 && o12419[LinkedList$Entry.previous]o12420:0 > 0 && arith = i4337:0 - 1 && arith1 = i4322:0 + 1 37.72/13.06 (2) f7537_0_createList_LE(x17, x18, x18, x19, x20, x21, x22, x23, x24, x25, x23, x25, x19, x25, x24, x25, x26, x27) -> f7537_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 37.72/13.06 37.72/13.06 Arcs: 37.72/13.06 (1) -> (1), (2) 37.72/13.06 (2) -> (1) 37.72/13.06 37.72/13.06 This digraph is fully evaluated! 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (13) 37.72/13.06 Obligation: 37.72/13.06 37.72/13.06 Termination digraph: 37.72/13.06 Nodes: 37.72/13.06 (1) f7537_0_createList_LE(i4337:0, o12420[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.next]o12419:0, o12419[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o12420[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, o12420[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.previous]o12417:0, o12419[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.next]o12420:0, o12419[LinkedList$Entry.previous]o12420:0, o12418[LinkedList$Entry.previous]o12420:0, o12420[LinkedList$Entry.previous]o12420:0, i4374:0, i4322:0) -> f7537_0_createList_LE(arith, o14372[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.previous]o12418:0, o12419[LinkedList$Entry.next]o12419:0, o12419[LinkedList$Entry.next]o12417:0, o12418[LinkedList$Entry.previous]o12418:0, o12418[LinkedList$Entry.previous]o12417:0, o14372[LinkedList$Entry.previous]o12417:0, o12418[LinkedList$Entry.previous]o12419:0, o14372[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.previous]o12417:0, o12419[LinkedList$Entry.previous]o12419:0, o12419[LinkedList$Entry.next]o14372:0, o12419[LinkedList$Entry.previous]o14372:0, o12418[LinkedList$Entry.previous]o14372:0, o14372[LinkedList$Entry.previous]o14372:0, i4374:0, arith1) :|: i4374:0 > -1 && i4337:0 > 0 && i4374:0 > i4322:0 && i4322:0 > -1 && o12419[LinkedList$Entry.next]o12417:0 > 0 && o12419[LinkedList$Entry.next]o12419:0 > 0 && o12419[LinkedList$Entry.previous]o12417:0 > 0 && o12419[LinkedList$Entry.previous]o12419:0 > 0 && o12418[LinkedList$Entry.previous]o12417:0 > 0 && o12418[LinkedList$Entry.previous]o12418:0 > 0 && o12420[LinkedList$Entry.previous]o12420:0 > 0 && o12420[LinkedList$Entry.previous]o12417:0 > 0 && o12420[LinkedList$Entry.previous]o12419:0 > 0 && o12419[LinkedList$Entry.next]o12420:0 > 0 && o12420[LinkedList$Entry.previous]o12418:0 > 0 && o12418[LinkedList$Entry.previous]o12420:0 > 0 && o12419[LinkedList$Entry.previous]o12420:0 > 0 && arith = i4337:0 - 1 && arith1 = i4322:0 + 1 37.72/13.06 (2) f7537_0_createList_LE(x17, x18, x18, x19, x20, x21, x22, x23, x24, x25, x23, x25, x19, x25, x24, x25, x26, x27) -> f7537_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 37.72/13.06 37.72/13.06 Arcs: 37.72/13.06 (1) -> (1), (2) 37.72/13.06 (2) -> (1) 37.72/13.06 37.72/13.06 This digraph is fully evaluated! 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (14) IntTRSCompressionProof (EQUIVALENT) 37.72/13.06 Compressed rules. 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (15) 37.72/13.06 Obligation: 37.72/13.06 Rules: 37.72/13.06 f7537_0_createList_LE(i4337:0:0, o12420[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.next]o12419:0:0, o12419[LinkedList$Entry.next]o12417:0:0, o12418[LinkedList$Entry.previous]o12418:0:0, o12418[LinkedList$Entry.previous]o12417:0:0, o12420[LinkedList$Entry.previous]o12417:0:0, o12418[LinkedList$Entry.previous]o12419:0:0, o12420[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.previous]o12417:0:0, o12419[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.next]o12420:0:0, o12419[LinkedList$Entry.previous]o12420:0:0, o12418[LinkedList$Entry.previous]o12420:0:0, o12420[LinkedList$Entry.previous]o12420:0:0, i4374:0:0, i4322:0:0) -> f7537_0_createList_LE(i4337:0:0 - 1, o14372[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.next]o12419:0:0, o12419[LinkedList$Entry.next]o12417:0:0, o12418[LinkedList$Entry.previous]o12418:0:0, o12418[LinkedList$Entry.previous]o12417:0:0, o14372[LinkedList$Entry.previous]o12417:0:0, o12418[LinkedList$Entry.previous]o12419:0:0, o14372[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.previous]o12417:0:0, o12419[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.next]o14372:0:0, o12419[LinkedList$Entry.previous]o14372:0:0, o12418[LinkedList$Entry.previous]o14372:0:0, o14372[LinkedList$Entry.previous]o14372:0:0, i4374:0:0, i4322:0:0 + 1) :|: o12418[LinkedList$Entry.previous]o12420:0:0 > 0 && o12419[LinkedList$Entry.previous]o12420:0:0 > 0 && o12420[LinkedList$Entry.previous]o12418:0:0 > 0 && o12419[LinkedList$Entry.next]o12420:0:0 > 0 && o12420[LinkedList$Entry.previous]o12419:0:0 > 0 && o12420[LinkedList$Entry.previous]o12417:0:0 > 0 && o12420[LinkedList$Entry.previous]o12420:0:0 > 0 && o12418[LinkedList$Entry.previous]o12418:0:0 > 0 && o12418[LinkedList$Entry.previous]o12417:0:0 > 0 && o12419[LinkedList$Entry.previous]o12419:0:0 > 0 && o12419[LinkedList$Entry.previous]o12417:0:0 > 0 && o12419[LinkedList$Entry.next]o12419:0:0 > 0 && o12419[LinkedList$Entry.next]o12417:0:0 > 0 && i4322:0:0 > -1 && i4374:0:0 > i4322:0:0 && i4337:0:0 > 0 && i4374:0:0 > -1 37.72/13.06 f7537_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) -> f7537_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 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (16) TempFilterProof (SOUND) 37.72/13.06 Used the following sort dictionary for filtering: 37.72/13.06 f7537_0_createList_LE(INTEGER, VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER, VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER) 37.72/13.06 Replaced non-predefined constructor symbols by 0. 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (17) 37.72/13.06 Obligation: 37.72/13.06 Rules: 37.72/13.06 f7537_0_createList_LE(i4337:0:0, o12420[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.next]o12419:0:0, o12419[LinkedList$Entry.next]o12417:0:0, o12418[LinkedList$Entry.previous]o12418:0:0, o12418[LinkedList$Entry.previous]o12417:0:0, o12420[LinkedList$Entry.previous]o12417:0:0, o12418[LinkedList$Entry.previous]o12419:0:0, o12420[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.previous]o12417:0:0, o12419[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.next]o12420:0:0, o12419[LinkedList$Entry.previous]o12420:0:0, o12418[LinkedList$Entry.previous]o12420:0:0, o12420[LinkedList$Entry.previous]o12420:0:0, i4374:0:0, i4322:0:0) -> f7537_0_createList_LE(c, o14372[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.next]o12419:0:0, o12419[LinkedList$Entry.next]o12417:0:0, o12418[LinkedList$Entry.previous]o12418:0:0, o12418[LinkedList$Entry.previous]o12417:0:0, o14372[LinkedList$Entry.previous]o12417:0:0, o12418[LinkedList$Entry.previous]o12419:0:0, o14372[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.previous]o12417:0:0, o12419[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.next]o14372:0:0, o12419[LinkedList$Entry.previous]o14372:0:0, o12418[LinkedList$Entry.previous]o14372:0:0, o14372[LinkedList$Entry.previous]o14372:0:0, i4374:0:0, c1) :|: c1 = i4322:0:0 + 1 && c = i4337:0:0 - 1 && (o12418[LinkedList$Entry.previous]o12420:0:0 > 0 && o12419[LinkedList$Entry.previous]o12420:0:0 > 0 && o12420[LinkedList$Entry.previous]o12418:0:0 > 0 && o12419[LinkedList$Entry.next]o12420:0:0 > 0 && o12420[LinkedList$Entry.previous]o12419:0:0 > 0 && o12420[LinkedList$Entry.previous]o12417:0:0 > 0 && o12420[LinkedList$Entry.previous]o12420:0:0 > 0 && o12418[LinkedList$Entry.previous]o12418:0:0 > 0 && o12418[LinkedList$Entry.previous]o12417:0:0 > 0 && o12419[LinkedList$Entry.previous]o12419:0:0 > 0 && o12419[LinkedList$Entry.previous]o12417:0:0 > 0 && o12419[LinkedList$Entry.next]o12419:0:0 > 0 && o12419[LinkedList$Entry.next]o12417:0:0 > 0 && i4322:0:0 > -1 && i4374:0:0 > i4322:0:0 && i4337:0:0 > 0 && i4374:0:0 > -1) 37.72/13.06 f7537_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) -> f7537_0_createList_LE(c2, x29:0, x18:0, c3, x30:0, x21:0, x22:0, x31:0, x24:0, c4, x23:0, x25:0, c5, x32:0, x33:0, x34:0, x26:0, c6) :|: c6 = x27:0 + 1 && (c5 = 1 && (c4 = 1 && (c3 = 4 && c2 = 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) 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (18) RankingReductionPairProof (EQUIVALENT) 37.72/13.06 Interpretation: 37.72/13.06 [ f7537_0_createList_LE ] = f7537_0_createList_LE_1 37.72/13.06 37.72/13.06 The following rules are decreasing: 37.72/13.06 f7537_0_createList_LE(i4337:0:0, o12420[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.next]o12419:0:0, o12419[LinkedList$Entry.next]o12417:0:0, o12418[LinkedList$Entry.previous]o12418:0:0, o12418[LinkedList$Entry.previous]o12417:0:0, o12420[LinkedList$Entry.previous]o12417:0:0, o12418[LinkedList$Entry.previous]o12419:0:0, o12420[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.previous]o12417:0:0, o12419[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.next]o12420:0:0, o12419[LinkedList$Entry.previous]o12420:0:0, o12418[LinkedList$Entry.previous]o12420:0:0, o12420[LinkedList$Entry.previous]o12420:0:0, i4374:0:0, i4322:0:0) -> f7537_0_createList_LE(c, o14372[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.next]o12419:0:0, o12419[LinkedList$Entry.next]o12417:0:0, o12418[LinkedList$Entry.previous]o12418:0:0, o12418[LinkedList$Entry.previous]o12417:0:0, o14372[LinkedList$Entry.previous]o12417:0:0, o12418[LinkedList$Entry.previous]o12419:0:0, o14372[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.previous]o12417:0:0, o12419[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.next]o14372:0:0, o12419[LinkedList$Entry.previous]o14372:0:0, o12418[LinkedList$Entry.previous]o14372:0:0, o14372[LinkedList$Entry.previous]o14372:0:0, i4374:0:0, c1) :|: c1 = i4322:0:0 + 1 && c = i4337:0:0 - 1 && (o12418[LinkedList$Entry.previous]o12420:0:0 > 0 && o12419[LinkedList$Entry.previous]o12420:0:0 > 0 && o12420[LinkedList$Entry.previous]o12418:0:0 > 0 && o12419[LinkedList$Entry.next]o12420:0:0 > 0 && o12420[LinkedList$Entry.previous]o12419:0:0 > 0 && o12420[LinkedList$Entry.previous]o12417:0:0 > 0 && o12420[LinkedList$Entry.previous]o12420:0:0 > 0 && o12418[LinkedList$Entry.previous]o12418:0:0 > 0 && o12418[LinkedList$Entry.previous]o12417:0:0 > 0 && o12419[LinkedList$Entry.previous]o12419:0:0 > 0 && o12419[LinkedList$Entry.previous]o12417:0:0 > 0 && o12419[LinkedList$Entry.next]o12419:0:0 > 0 && o12419[LinkedList$Entry.next]o12417:0:0 > 0 && i4322:0:0 > -1 && i4374:0:0 > i4322:0:0 && i4337:0:0 > 0 && i4374:0:0 > -1) 37.72/13.06 f7537_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) -> f7537_0_createList_LE(c2, x29:0, x18:0, c3, x30:0, x21:0, x22:0, x31:0, x24:0, c4, x23:0, x25:0, c5, x32:0, x33:0, x34:0, x26:0, c6) :|: c6 = x27:0 + 1 && (c5 = 1 && (c4 = 1 && (c3 = 4 && c2 = 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) 37.72/13.06 37.72/13.06 The following rules are bounded: 37.72/13.06 f7537_0_createList_LE(i4337:0:0, o12420[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.next]o12419:0:0, o12419[LinkedList$Entry.next]o12417:0:0, o12418[LinkedList$Entry.previous]o12418:0:0, o12418[LinkedList$Entry.previous]o12417:0:0, o12420[LinkedList$Entry.previous]o12417:0:0, o12418[LinkedList$Entry.previous]o12419:0:0, o12420[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.previous]o12417:0:0, o12419[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.next]o12420:0:0, o12419[LinkedList$Entry.previous]o12420:0:0, o12418[LinkedList$Entry.previous]o12420:0:0, o12420[LinkedList$Entry.previous]o12420:0:0, i4374:0:0, i4322:0:0) -> f7537_0_createList_LE(c, o14372[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.previous]o12418:0:0, o12419[LinkedList$Entry.next]o12419:0:0, o12419[LinkedList$Entry.next]o12417:0:0, o12418[LinkedList$Entry.previous]o12418:0:0, o12418[LinkedList$Entry.previous]o12417:0:0, o14372[LinkedList$Entry.previous]o12417:0:0, o12418[LinkedList$Entry.previous]o12419:0:0, o14372[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.previous]o12417:0:0, o12419[LinkedList$Entry.previous]o12419:0:0, o12419[LinkedList$Entry.next]o14372:0:0, o12419[LinkedList$Entry.previous]o14372:0:0, o12418[LinkedList$Entry.previous]o14372:0:0, o14372[LinkedList$Entry.previous]o14372:0:0, i4374:0:0, c1) :|: c1 = i4322:0:0 + 1 && c = i4337:0:0 - 1 && (o12418[LinkedList$Entry.previous]o12420:0:0 > 0 && o12419[LinkedList$Entry.previous]o12420:0:0 > 0 && o12420[LinkedList$Entry.previous]o12418:0:0 > 0 && o12419[LinkedList$Entry.next]o12420:0:0 > 0 && o12420[LinkedList$Entry.previous]o12419:0:0 > 0 && o12420[LinkedList$Entry.previous]o12417:0:0 > 0 && o12420[LinkedList$Entry.previous]o12420:0:0 > 0 && o12418[LinkedList$Entry.previous]o12418:0:0 > 0 && o12418[LinkedList$Entry.previous]o12417:0:0 > 0 && o12419[LinkedList$Entry.previous]o12419:0:0 > 0 && o12419[LinkedList$Entry.previous]o12417:0:0 > 0 && o12419[LinkedList$Entry.next]o12419:0:0 > 0 && o12419[LinkedList$Entry.next]o12417:0:0 > 0 && i4322:0:0 > -1 && i4374:0:0 > i4322:0:0 && i4337:0:0 > 0 && i4374:0:0 > -1) 37.72/13.06 f7537_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) -> f7537_0_createList_LE(c2, x29:0, x18:0, c3, x30:0, x21:0, x22:0, x31:0, x24:0, c4, x23:0, x25:0, c5, x32:0, x33:0, x34:0, x26:0, c6) :|: c6 = x27:0 + 1 && (c5 = 1 && (c4 = 1 && (c3 = 4 && c2 = 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) 37.72/13.06 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (19) 37.72/13.06 YES 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (20) 37.72/13.06 Obligation: 37.72/13.06 SCC of termination graph based on JBC Program. 37.72/13.06 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateIndexOf.main([Ljava/lang/String;)V 37.72/13.06 SCC calls the following helper methods: javaUtilEx.Content.equals(Ljava/lang/Object;)Z 37.72/13.06 Performed SCC analyses: 37.72/13.06 *Used field analysis yielded the following read fields: 37.72/13.06 *javaUtilEx.LinkedList$Entry: [next, element] 37.72/13.06 *javaUtilEx.LinkedList: [header] 37.72/13.06 *Marker field analysis yielded the following relations that could be markers: 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (21) SCCToIRSProof (SOUND) 37.72/13.06 Transformed FIGraph SCCs to intTRSs. Log: 37.72/13.06 Generated rules. Obtained 69 IRulesP rules: 37.72/13.06 f9531_0_indexOf_EQ(EOS(STATIC_9531), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31470sub1456468486), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o31466[LinkedList$Entry.next]o31464, o31466[LinkedList$Entry.next]o31468, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466) -> f9543_0_indexOf_Inc(EOS(STATIC_9543), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31470sub1456468486), java.lang.Object(javaUtilEx.Content(EOC)))), o31466[LinkedList$Entry.next]o31464, o31466[LinkedList$Entry.next]o31468, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466) :|: TRUE && matching1 = 0 37.72/13.06 f9543_0_indexOf_Inc(EOS(STATIC_9543), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31470sub1456468486), java.lang.Object(javaUtilEx.Content(EOC)))), o31466[LinkedList$Entry.next]o31464, o31466[LinkedList$Entry.next]o31468, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466) -> f9553_0_indexOf_Load(EOS(STATIC_9553), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31470sub1456468486), java.lang.Object(javaUtilEx.Content(EOC)))), o31466[LinkedList$Entry.next]o31464, o31466[LinkedList$Entry.next]o31468, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466) :|: TRUE 37.72/13.06 f9553_0_indexOf_Load(EOS(STATIC_9553), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31470sub1456468486), java.lang.Object(javaUtilEx.Content(EOC)))), o31466[LinkedList$Entry.next]o31464, o31466[LinkedList$Entry.next]o31468, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466) -> f9562_0_indexOf_FieldAccess(EOS(STATIC_9562), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31470sub1456468486), java.lang.Object(javaUtilEx.Content(EOC)))), o31466[LinkedList$Entry.next]o31464, o31466[LinkedList$Entry.next]o31468, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466) :|: TRUE 37.72/13.06 f9562_0_indexOf_FieldAccess(EOS(STATIC_9562), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31470sub1456468486), java.lang.Object(javaUtilEx.Content(EOC)))), o31466[LinkedList$Entry.next]o31464, o31466[LinkedList$Entry.next]o31468, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466) -> f9570_0_indexOf_Store(EOS(STATIC_9570), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31470sub0), o31466[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466, o31466[LinkedList$Entry.next]o31470) :|: o31466[LinkedList$Entry.next]o31470 > o31466[LinkedList$Entry.next]o31468 && o31466[LinkedList$Entry.next]o31468 >= 0 37.72/13.06 f9570_0_indexOf_Store(EOS(STATIC_9570), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31470sub0), o31466[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466, o31466[LinkedList$Entry.next]o31470) -> f9578_0_indexOf_JMP(EOS(STATIC_9578), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31470sub0), o31466[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466, o31466[LinkedList$Entry.next]o31470) :|: TRUE 37.72/13.06 f9578_0_indexOf_JMP(EOS(STATIC_9578), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31470sub0), o31466[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466, o31466[LinkedList$Entry.next]o31470) -> f9583_0_indexOf_Load(EOS(STATIC_9583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31470sub0), o31466[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466, o31466[LinkedList$Entry.next]o31470) :|: TRUE 37.72/13.06 f9583_0_indexOf_Load(EOS(STATIC_9583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31470sub0), o31466[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466, o31466[LinkedList$Entry.next]o31470) -> f9437_0_indexOf_Load(EOS(STATIC_9437), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31470sub0), o31466[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466, o31466[LinkedList$Entry.next]o31470) :|: TRUE 37.72/13.06 f9437_0_indexOf_Load(EOS(STATIC_9437), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504) -> f9439_0_indexOf_Load(EOS(STATIC_9439), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), java.lang.Object(o30504sub0), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504) :|: TRUE 37.72/13.06 f9439_0_indexOf_Load(EOS(STATIC_9439), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), java.lang.Object(o30504sub0), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504) -> f9441_0_indexOf_FieldAccess(EOS(STATIC_9441), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), java.lang.Object(o30504sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504) :|: TRUE 37.72/13.06 f9441_0_indexOf_FieldAccess(EOS(STATIC_9441), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), java.lang.Object(o30504sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504) -> f9443_0_indexOf_EQ(EOS(STATIC_9443), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), java.lang.Object(o30504sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub1455568742), o305011455568742)), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504) :|: TRUE 37.72/13.06 f9443_0_indexOf_EQ(EOS(STATIC_9443), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), java.lang.Object(o30504sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub1455568742), o305011455568742)), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504) -> f9446_0_indexOf_EQ(EOS(STATIC_9446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), java.lang.Object(o30504sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub1455568742), o305011455568742)), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504, o30504[LinkedList$Entry.next]o30500) :|: o30504[LinkedList$Entry.next]o30500 > 0 37.72/13.06 f9446_0_indexOf_EQ(EOS(STATIC_9446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), java.lang.Object(o30504sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub1455568742), o305011455568742)), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504, o30504[LinkedList$Entry.next]o30500) -> f9450_0_indexOf_Load(EOS(STATIC_9450), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504, o30504[LinkedList$Entry.next]o30500) :|: TRUE 37.72/13.06 f9450_0_indexOf_Load(EOS(STATIC_9450), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504, o30504[LinkedList$Entry.next]o30500) -> f9454_0_indexOf_Load(EOS(STATIC_9454), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), java.lang.Object(o30503sub0), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504, o30504[LinkedList$Entry.next]o30500) :|: TRUE 37.72/13.06 f9454_0_indexOf_Load(EOS(STATIC_9454), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), java.lang.Object(o30503sub0), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504, o30504[LinkedList$Entry.next]o30500) -> f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504, o30504[LinkedList$Entry.next]o30500) :|: TRUE 37.72/13.06 f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), o30502[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502, o30502[LinkedList$Entry.next]o30504, o30504[LinkedList$Entry.next]o30500) -> f9461_0_indexOf_FieldAccess(EOS(STATIC_9461), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), java.lang.Object(o30503sub0), java.lang.Object(o30504sub0), o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30504, o30504[LinkedList$Entry.next]o30500, o30504[LinkedList$Entry.next]o30502) :|: o30504[LinkedList$Entry.next]o30502 > 0 && o30502[LinkedList$Entry.next]o30504 > 0 37.72/13.06 f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30907sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30907sub0), java.lang.Object(o30503sub0), java.lang.Object(o30907sub0), o30907[LinkedList$Entry.next]o30500, o30907[LinkedList$Entry.next]o30907, o30907[LinkedList$Entry.next]o30907, o30907[LinkedList$Entry.next]o30500) -> f9462_0_indexOf_FieldAccess(EOS(STATIC_9462), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30907sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(o30907sub0), java.lang.Object(o30503sub0), java.lang.Object(o30907sub0), o30907[LinkedList$Entry.next]o30500, o30907[LinkedList$Entry.next]o30907) :|: TRUE 37.72/13.06 f9461_0_indexOf_FieldAccess(EOS(STATIC_9461), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), o309171455689053)), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), o309171455689053)), o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30916[LinkedList$Entry.next]o30500, o30916[LinkedList$Entry.next]o30502) -> f9465_0_indexOf_FieldAccess(EOS(STATIC_9465), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), o309171455689053)), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), o309171455689053)), o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) :|: o30918[LinkedList$Entry.next]o30500 < o30916[LinkedList$Entry.next]o30500 && o30916[LinkedList$Entry.next]o30500 >= 0 && o30918[LinkedList$Entry.next]o30502 < o30916[LinkedList$Entry.next]o30502 && o30916[LinkedList$Entry.next]o30502 >= 0 37.72/13.06 f9465_0_indexOf_FieldAccess(EOS(STATIC_9465), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), o309171455689053)), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), o309171455689053)), o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) -> f9469_0_indexOf_InvokeMethod(EOS(STATIC_9469), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), o309171455689053)), java.lang.Object(o30503sub0), o309170, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) :|: TRUE 37.72/13.06 f9469_0_indexOf_InvokeMethod(EOS(STATIC_9469), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), o309171455689053)), java.lang.Object(o30503sub0), o309170, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) -> f9473_0_equals_Load(EOS(STATIC_9473), java.lang.Object(o30503sub0), o309170, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub1455568742), o305011455568742)), java.lang.Object(o30502sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), o309171455689053)), java.lang.Object(o30918sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), o309170, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) :|: i8891 > 1 && i4071 >= 1 37.72/13.06 f9469_0_indexOf_InvokeMethod(EOS(STATIC_9469), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), o309171455689053)), java.lang.Object(o30503sub0), o309170, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) -> f9473_1_equals_Load(EOS(STATIC_9473), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), o309171455689053)), java.lang.Object(o30503sub0), o309170, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) :|: i8891 > 1 && i4071 >= 1 37.72/13.06 f9473_0_equals_Load(EOS(STATIC_9473), java.lang.Object(o30503sub0), o309170, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub1455568742), o305011455568742)), java.lang.Object(o30502sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), o309171455689053)), java.lang.Object(o30918sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), o309170, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) -> f9860_0_equals_Load(EOS(STATIC_9860), java.lang.Object(o30503sub0), o309170, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub1455568742), o305011455568742)), java.lang.Object(o30502sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), o309171455689053)), java.lang.Object(o30918sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o30503sub0), o309170, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) :|: TRUE 37.72/13.06 f9502_0_equals_Return(EOS(STATIC_9502), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o31226sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), NULL)), matching1, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) -> f9504_0_equals_Return(EOS(STATIC_9504), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o31226sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), NULL)), 0, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) :|: TRUE && matching1 = 0 37.72/13.06 f9504_0_equals_Return(EOS(STATIC_9504), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31434sub1456465417), o314331456465417)), matching1, o31430[LinkedList$Entry.next]o31428, o31430[LinkedList$Entry.next]o31432, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430) -> f9519_0_indexOf_EQ(EOS(STATIC_9519), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31434sub1456465417), o314331456465417)), 0, o31430[LinkedList$Entry.next]o31428, o31430[LinkedList$Entry.next]o31432, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430) :|: TRUE && matching1 = 0 37.72/13.06 f9519_0_indexOf_EQ(EOS(STATIC_9519), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31434sub1456465417), o314331456465417)), matching1, o31430[LinkedList$Entry.next]o31428, o31430[LinkedList$Entry.next]o31432, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430) -> f9529_0_indexOf_Inc(EOS(STATIC_9529), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31434sub1456465417), o314331456465417)), o31430[LinkedList$Entry.next]o31428, o31430[LinkedList$Entry.next]o31432, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430) :|: TRUE && matching1 = 0 37.72/13.06 f9529_0_indexOf_Inc(EOS(STATIC_9529), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31434sub1456465417), o314331456465417)), o31430[LinkedList$Entry.next]o31428, o31430[LinkedList$Entry.next]o31432, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430) -> f9541_0_indexOf_Load(EOS(STATIC_9541), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31434sub1456465417), o314331456465417)), o31430[LinkedList$Entry.next]o31428, o31430[LinkedList$Entry.next]o31432, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430) :|: TRUE 37.72/13.06 f9541_0_indexOf_Load(EOS(STATIC_9541), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31434sub1456465417), o314331456465417)), o31430[LinkedList$Entry.next]o31428, o31430[LinkedList$Entry.next]o31432, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430) -> f9552_0_indexOf_FieldAccess(EOS(STATIC_9552), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31434sub1456465417), o314331456465417)), o31430[LinkedList$Entry.next]o31428, o31430[LinkedList$Entry.next]o31432, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430) :|: TRUE 37.72/13.06 f9552_0_indexOf_FieldAccess(EOS(STATIC_9552), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31434sub1456465417), o314331456465417)), o31430[LinkedList$Entry.next]o31428, o31430[LinkedList$Entry.next]o31432, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430) -> f9561_0_indexOf_Store(EOS(STATIC_9561), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(o31434sub0), o31430[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430, o31430[LinkedList$Entry.next]o31434) :|: o31430[LinkedList$Entry.next]o31434 > o31430[LinkedList$Entry.next]o31432 && o31430[LinkedList$Entry.next]o31432 >= 0 37.72/13.06 f9561_0_indexOf_Store(EOS(STATIC_9561), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(o31434sub0), o31430[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430, o31430[LinkedList$Entry.next]o31434) -> f9569_0_indexOf_JMP(EOS(STATIC_9569), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(o31434sub0), o31430[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430, o31430[LinkedList$Entry.next]o31434) :|: TRUE 37.72/13.06 f9569_0_indexOf_JMP(EOS(STATIC_9569), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(o31434sub0), o31430[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430, o31430[LinkedList$Entry.next]o31434) -> f9577_0_indexOf_Load(EOS(STATIC_9577), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(o31434sub0), o31430[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430, o31430[LinkedList$Entry.next]o31434) :|: TRUE 37.72/13.06 f9577_0_indexOf_Load(EOS(STATIC_9577), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(o31434sub0), o31430[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430, o31430[LinkedList$Entry.next]o31434) -> f9437_0_indexOf_Load(EOS(STATIC_9437), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31430sub-1382038043), o31429-1382038043))))))), java.lang.Object(o31431sub0), java.lang.Object(o31434sub0), o31430[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31428, o31434[LinkedList$Entry.next]o31430, o31430[LinkedList$Entry.next]o31434) :|: TRUE 37.72/13.06 f9503_0_equals_Return(EOS(STATIC_9503), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o31239sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), java.lang.Object(o31241sub1455689053))), matching1, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) -> f9504_0_equals_Return(EOS(STATIC_9504), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o31239sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), java.lang.Object(o31241sub1455689053))), 0, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) :|: TRUE && matching1 = 0 37.72/13.06 f9505_0_equals_Return(EOS(STATIC_9505), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) -> f9507_0_equals_Return(EOS(STATIC_9507), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) :|: TRUE && matching1 = 0 37.72/13.06 f9507_0_equals_Return(EOS(STATIC_9507), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31470sub1456468486), java.lang.Object(javaUtilEx.Content(EOC)))), i9129, o31466[LinkedList$Entry.next]o31464, o31466[LinkedList$Entry.next]o31468, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466) -> f9520_0_indexOf_EQ(EOS(STATIC_9520), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31470sub1456468486), java.lang.Object(javaUtilEx.Content(EOC)))), i9129, o31466[LinkedList$Entry.next]o31464, o31466[LinkedList$Entry.next]o31468, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466) :|: TRUE 37.72/13.06 f9520_0_indexOf_EQ(EOS(STATIC_9520), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31470sub1456468486), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o31466[LinkedList$Entry.next]o31464, o31466[LinkedList$Entry.next]o31468, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466) -> f9531_0_indexOf_EQ(EOS(STATIC_9531), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31466sub-1382030603), o31465-1382030603))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31470sub1456468486), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o31466[LinkedList$Entry.next]o31464, o31466[LinkedList$Entry.next]o31468, o31470[LinkedList$Entry.next]o31464, o31470[LinkedList$Entry.next]o31466) :|: TRUE && matching1 = 0 37.72/13.06 f9506_0_equals_Return(EOS(STATIC_9506), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) -> f9507_0_equals_Return(EOS(STATIC_9507), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) :|: TRUE && matching1 = 1 37.72/13.06 f9462_0_indexOf_FieldAccess(EOS(STATIC_9462), 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(o30922sub71839153), o3092171839153)), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), o309211455689828)), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), o309211455689828)), o30920[LinkedList$Entry.next]o30500, o30920[LinkedList$Entry.next]o30920) -> f9466_0_indexOf_FieldAccess(EOS(STATIC_9466), 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(o30922sub71839153), o3092171839153)), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), o309211455689828)), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), o309211455689828)), o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) :|: o30922[LinkedList$Entry.next]o30500 < o30920[LinkedList$Entry.next]o30500 && o30920[LinkedList$Entry.next]o30500 >= 0 && o30922[LinkedList$Entry.next]o30920 < o30920[LinkedList$Entry.next]o30920 && o30920[LinkedList$Entry.next]o30920 >= 0 37.72/13.06 f9466_0_indexOf_FieldAccess(EOS(STATIC_9466), 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(o30922sub71839153), o3092171839153)), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), o309211455689828)), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), o309211455689828)), o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) -> f9470_0_indexOf_InvokeMethod(EOS(STATIC_9470), 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(o30922sub71839153), o3092171839153)), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), o309211455689828)), java.lang.Object(o30503sub0), o309210, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) :|: TRUE 37.72/13.06 f9470_0_indexOf_InvokeMethod(EOS(STATIC_9470), 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(o30922sub71839153), o3092171839153)), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), o309211455689828)), java.lang.Object(o30503sub0), o309210, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) -> f9474_0_equals_Load(EOS(STATIC_9474), java.lang.Object(o30503sub0), o309210, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub-1383708726), o30921-1383708726)), o305011455568742)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), o309211455689828)), java.lang.Object(o30922sub0), 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(o30922sub71839153), o3092171839153)), o30501-1383850675))))))), java.lang.Object(o30503sub0), o309210, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) :|: i8891 > 1 && i4071 >= 1 37.72/13.06 f9470_0_indexOf_InvokeMethod(EOS(STATIC_9470), 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(o30922sub71839153), o3092171839153)), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), o309211455689828)), java.lang.Object(o30503sub0), o309210, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) -> f9474_1_equals_Load(EOS(STATIC_9474), 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(o30922sub71839153), o3092171839153)), o30501-1383850675))))))), java.lang.Object(o30503sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), o309211455689828)), java.lang.Object(o30503sub0), o309210, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) :|: i8891 > 1 && i4071 >= 1 37.72/13.06 f9474_0_equals_Load(EOS(STATIC_9474), java.lang.Object(o30503sub0), o309210, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub-1383708726), o30921-1383708726)), o305011455568742)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), o309211455689828)), java.lang.Object(o30922sub0), 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(o30922sub71839153), o3092171839153)), o30501-1383850675))))))), java.lang.Object(o30503sub0), o309210, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) -> f9922_0_equals_Load(EOS(STATIC_9922), java.lang.Object(o30503sub0), o309210, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub-1383708726), o30921-1383708726)), o305011455568742)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), o309211455689828)), java.lang.Object(o30922sub0), 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(o30922sub71839153), o3092171839153)), o30501-1383850675))))))), java.lang.Object(o30503sub0), o309210, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) :|: TRUE 37.72/13.06 f9509_0_equals_Return(EOS(STATIC_9509), 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(o30922sub71839153), NULL)), o30501-1383850675))))))), java.lang.Object(o31307sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), NULL)), matching1, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) -> f9511_0_equals_Return(EOS(STATIC_9511), 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(o30922sub71839153), NULL)), o30501-1383850675))))))), java.lang.Object(o31307sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), NULL)), 0, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) :|: TRUE && matching1 = 0 37.72/13.06 f9511_0_equals_Return(EOS(STATIC_9511), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31502sub1456492263), o315011456492263)), matching1, o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) -> f9521_0_indexOf_EQ(EOS(STATIC_9521), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31502sub1456492263), o315011456492263)), 0, o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) :|: TRUE && matching1 = 0 37.72/13.06 f9521_0_indexOf_EQ(EOS(STATIC_9521), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31502sub1456492263), o315011456492263)), matching1, o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) -> f9532_0_indexOf_Inc(EOS(STATIC_9532), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31502sub1456492263), o315011456492263)), o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) :|: TRUE && matching1 = 0 37.72/13.06 f9532_0_indexOf_Inc(EOS(STATIC_9532), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31502sub1456492263), o315011456492263)), o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) -> f9544_0_indexOf_Load(EOS(STATIC_9544), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31502sub1456492263), o315011456492263)), o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) :|: TRUE 37.72/13.06 f9544_0_indexOf_Load(EOS(STATIC_9544), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31502sub1456492263), o315011456492263)), o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) -> f9554_0_indexOf_FieldAccess(EOS(STATIC_9554), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31502sub1456492263), o315011456492263)), o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) :|: TRUE 37.72/13.06 f9554_0_indexOf_FieldAccess(EOS(STATIC_9554), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31502sub1456492263), o315011456492263)), o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) -> f9563_0_indexOf_Store(EOS(STATIC_9563), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(o31502sub0), o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) :|: TRUE 37.72/13.06 f9563_0_indexOf_Store(EOS(STATIC_9563), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(o31502sub0), o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) -> f9571_0_indexOf_JMP(EOS(STATIC_9571), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(o31502sub0), o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) :|: TRUE 37.72/13.06 f9571_0_indexOf_JMP(EOS(STATIC_9571), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(o31502sub0), o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) -> f9579_0_indexOf_Load(EOS(STATIC_9579), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(o31502sub0), o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) :|: TRUE 37.72/13.06 f9579_0_indexOf_Load(EOS(STATIC_9579), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(o31502sub0), o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500) -> f9437_0_indexOf_Load(EOS(STATIC_9437), 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(o31502sub74467674), o3150174467674)), o31499-1382024589))))))), java.lang.Object(o31504sub0), java.lang.Object(o31502sub0), o31500[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31498, o31502[LinkedList$Entry.next]o31500, o31500[LinkedList$Entry.next]o31502) :|: o31500[LinkedList$Entry.next]o31502 = 1 37.72/13.06 f9510_0_equals_Return(EOS(STATIC_9510), 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(o30922sub71839153), java.lang.Object(o31321sub71839153))), o30501-1383850675))))))), java.lang.Object(o31319sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), java.lang.Object(o31321sub1455689828))), matching1, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) -> f9511_0_equals_Return(EOS(STATIC_9511), 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(o30922sub71839153), java.lang.Object(o31321sub71839153))), o30501-1383850675))))))), java.lang.Object(o31319sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), java.lang.Object(o31321sub1455689828))), 0, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) :|: TRUE && matching1 = 0 37.72/13.06 f9512_0_equals_Return(EOS(STATIC_9512), 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(o30922sub71839153), java.lang.Object(javaUtilEx.Content(EOC)))), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) -> f9514_0_equals_Return(EOS(STATIC_9514), 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(o30922sub71839153), java.lang.Object(javaUtilEx.Content(EOC)))), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) :|: TRUE && matching1 = 0 37.72/13.06 f9514_0_equals_Return(EOS(STATIC_9514), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31530sub1456494433), java.lang.Object(javaUtilEx.Content(EOC)))), i9152, o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) -> f9522_0_indexOf_EQ(EOS(STATIC_9522), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31530sub1456494433), java.lang.Object(javaUtilEx.Content(EOC)))), i9152, o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) :|: TRUE 37.72/13.06 f9522_0_indexOf_EQ(EOS(STATIC_9522), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31530sub1456494433), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) -> f9534_0_indexOf_EQ(EOS(STATIC_9534), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31530sub1456494433), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) :|: TRUE && matching1 = 0 37.72/13.06 f9534_0_indexOf_EQ(EOS(STATIC_9534), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31530sub1456494433), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) -> f9546_0_indexOf_Inc(EOS(STATIC_9546), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31530sub1456494433), java.lang.Object(javaUtilEx.Content(EOC)))), o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) :|: TRUE && matching1 = 0 37.72/13.06 f9546_0_indexOf_Inc(EOS(STATIC_9546), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31530sub1456494433), java.lang.Object(javaUtilEx.Content(EOC)))), o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) -> f9555_0_indexOf_Load(EOS(STATIC_9555), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31530sub1456494433), java.lang.Object(javaUtilEx.Content(EOC)))), o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) :|: TRUE 37.72/13.06 f9555_0_indexOf_Load(EOS(STATIC_9555), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31530sub1456494433), java.lang.Object(javaUtilEx.Content(EOC)))), o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) -> f9564_0_indexOf_FieldAccess(EOS(STATIC_9564), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31530sub1456494433), java.lang.Object(javaUtilEx.Content(EOC)))), o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) :|: TRUE 37.72/13.06 f9564_0_indexOf_FieldAccess(EOS(STATIC_9564), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31530sub1456494433), java.lang.Object(javaUtilEx.Content(EOC)))), o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) -> f9572_0_indexOf_Store(EOS(STATIC_9572), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31530sub0), o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) :|: TRUE 37.72/13.06 f9572_0_indexOf_Store(EOS(STATIC_9572), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31530sub0), o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) -> f9580_0_indexOf_JMP(EOS(STATIC_9580), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31530sub0), o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) :|: TRUE 37.72/13.06 f9580_0_indexOf_JMP(EOS(STATIC_9580), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31530sub0), o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) -> f9584_0_indexOf_Load(EOS(STATIC_9584), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31530sub0), o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) :|: TRUE 37.72/13.06 f9584_0_indexOf_Load(EOS(STATIC_9584), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31530sub0), o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528) -> f9437_0_indexOf_Load(EOS(STATIC_9437), 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(o31530sub74515848), java.lang.Object(javaUtilEx.Content(EOC)))), o31527-1381978585))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31530sub0), o31528[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31526, o31530[LinkedList$Entry.next]o31528, o31528[LinkedList$Entry.next]o31530) :|: o31528[LinkedList$Entry.next]o31530 = 1 37.72/13.06 f9513_0_equals_Return(EOS(STATIC_9513), 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(o30922sub71839153), java.lang.Object(javaUtilEx.Content(EOC)))), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) -> f9514_0_equals_Return(EOS(STATIC_9514), 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(o30922sub71839153), java.lang.Object(javaUtilEx.Content(EOC)))), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) :|: TRUE && matching1 = 1 37.72/13.06 f9473_1_equals_Load(EOS(STATIC_9473), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o31226sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), NULL)), java.lang.Object(o31226sub0), NULL, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) -> f9502_0_equals_Return(EOS(STATIC_9502), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o31226sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), NULL)), 0, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) :|: TRUE 37.72/13.06 f9473_1_equals_Load(EOS(STATIC_9473), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o31239sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), java.lang.Object(o31241sub1455689053))), java.lang.Object(o31239sub0), java.lang.Object(o31241sub0), o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) -> f9503_0_equals_Return(EOS(STATIC_9503), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(o31239sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), java.lang.Object(o31241sub1455689053))), 0, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) :|: TRUE 37.72/13.06 f9473_1_equals_Load(EOS(STATIC_9473), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) -> f9505_0_equals_Return(EOS(STATIC_9505), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) :|: TRUE 37.72/13.06 f9473_1_equals_Load(EOS(STATIC_9473), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) -> f9506_0_equals_Return(EOS(STATIC_9506), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o30502[LinkedList$Entry.next]o30500, o30502[LinkedList$Entry.next]o30916, o30918[LinkedList$Entry.next]o30500, o30918[LinkedList$Entry.next]o30502) :|: TRUE 37.72/13.06 f9474_1_equals_Load(EOS(STATIC_9474), 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(o30922sub71839153), NULL)), o30501-1383850675))))))), java.lang.Object(o31307sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), NULL)), java.lang.Object(o31307sub0), NULL, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) -> f9509_0_equals_Return(EOS(STATIC_9509), 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(o30922sub71839153), NULL)), o30501-1383850675))))))), java.lang.Object(o31307sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), NULL)), 0, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) :|: TRUE 37.72/13.06 f9474_1_equals_Load(EOS(STATIC_9474), 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(o30922sub71839153), java.lang.Object(o31321sub71839153))), o30501-1383850675))))))), java.lang.Object(o31319sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), java.lang.Object(o31321sub1455689828))), java.lang.Object(o31319sub0), java.lang.Object(o31321sub0), o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) -> f9510_0_equals_Return(EOS(STATIC_9510), 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(o30922sub71839153), java.lang.Object(o31321sub71839153))), o30501-1383850675))))))), java.lang.Object(o31319sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), java.lang.Object(o31321sub1455689828))), 0, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) :|: TRUE 37.72/13.06 f9474_1_equals_Load(EOS(STATIC_9474), 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(o30922sub71839153), java.lang.Object(javaUtilEx.Content(EOC)))), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) -> f9512_0_equals_Return(EOS(STATIC_9512), 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(o30922sub71839153), java.lang.Object(javaUtilEx.Content(EOC)))), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) :|: TRUE 37.72/13.06 f9474_1_equals_Load(EOS(STATIC_9474), 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(o30922sub71839153), java.lang.Object(javaUtilEx.Content(EOC)))), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) -> f9513_0_equals_Return(EOS(STATIC_9513), 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(o30922sub71839153), java.lang.Object(javaUtilEx.Content(EOC)))), o30501-1383850675))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o30922[LinkedList$Entry.next]o30500, o30922[LinkedList$Entry.next]o30920) :|: TRUE 37.72/13.06 Combined rules. Obtained 8 IRulesP rules: 37.72/13.06 f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), 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(o30922sub71839153:0), NULL)), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828:0), NULL)), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828:0), NULL)), o30907[LinkedList$Entry.next]o30500:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30500:0) -> f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), 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(o30922sub71839153:0), NULL)), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(o31502sub0:0), java.lang.Object(o30503sub0:0), java.lang.Object(o31502sub0:0), o31500[LinkedList$Entry.next]o31498:0, o30922[LinkedList$Entry.next]o30920:0, 1, o30922[LinkedList$Entry.next]o30500:0) :|: o30907[LinkedList$Entry.next]o30500:0 > -1 && o30922[LinkedList$Entry.next]o30500:0 < o30907[LinkedList$Entry.next]o30500:0 && o30922[LinkedList$Entry.next]o30920:0 < o30907[LinkedList$Entry.next]o30907:0 && o30922[LinkedList$Entry.next]o30500:0 > 0 && o30907[LinkedList$Entry.next]o30907:0 > -1 && i8891:0 > 1 && i4071:0 > 0 37.72/13.06 f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675:0), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053:0), NULL)), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053:0), NULL)), o30502[LinkedList$Entry.next]o30500:0, o30504[LinkedList$Entry.next]o30502:0, o30502[LinkedList$Entry.next]o30504:0, o30504[LinkedList$Entry.next]o30500:0) -> f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675:0), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(o31434sub0:0), java.lang.Object(o30503sub0:0), java.lang.Object(o31434sub0:0), o30502[LinkedList$Entry.next]o30500:0, o30918[LinkedList$Entry.next]o30502:0, o31430[LinkedList$Entry.next]o31434:0, o30918[LinkedList$Entry.next]o30500:0) :|: o30502[LinkedList$Entry.next]o30504:0 > 0 && o30504[LinkedList$Entry.next]o30502:0 > 0 && o30504[LinkedList$Entry.next]o30500:0 > -1 && o30918[LinkedList$Entry.next]o30500:0 < o30504[LinkedList$Entry.next]o30500:0 && o30918[LinkedList$Entry.next]o30502:0 < o30504[LinkedList$Entry.next]o30502:0 && o30918[LinkedList$Entry.next]o30500:0 > 0 && o31430[LinkedList$Entry.next]o31434:0 > o30502[LinkedList$Entry.next]o30504:0 && i8891:0 > 1 && i4071:0 > 0 37.72/13.06 f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675:0), o30501-1383850675:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053:0), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053:0), java.lang.Object(javaUtilEx.Content(EOC)))), o30502[LinkedList$Entry.next]o30500:0, o30504[LinkedList$Entry.next]o30502:0, o30502[LinkedList$Entry.next]o30504:0, o30504[LinkedList$Entry.next]o30500:0) -> f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675:0), o30501-1383850675:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31470sub0:0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31470sub0:0), o30502[LinkedList$Entry.next]o30500:0, o30918[LinkedList$Entry.next]o30502:0, o31466[LinkedList$Entry.next]o31470:0, o30918[LinkedList$Entry.next]o30500:0) :|: o30502[LinkedList$Entry.next]o30504:0 > 0 && o30504[LinkedList$Entry.next]o30502:0 > 0 && o31466[LinkedList$Entry.next]o31470:0 > o30502[LinkedList$Entry.next]o30504:0 && o30504[LinkedList$Entry.next]o30500:0 > -1 && o30918[LinkedList$Entry.next]o30500:0 < o30504[LinkedList$Entry.next]o30500:0 && o30918[LinkedList$Entry.next]o30502:0 < o30504[LinkedList$Entry.next]o30502:0 && o30918[LinkedList$Entry.next]o30500:0 > 0 && i8891:0 > 1 && i4071:0 > 0 37.72/13.06 f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), 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(o30922sub71839153:0), java.lang.Object(o31321sub71839153:0))), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828:0), java.lang.Object(o31321sub1455689828:0))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828:0), java.lang.Object(o31321sub1455689828:0))), o30907[LinkedList$Entry.next]o30500:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30500:0) -> f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), 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(o30922sub71839153:0), java.lang.Object(o31321sub71839153:0))), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(o31502sub0:0), java.lang.Object(o30503sub0:0), java.lang.Object(o31502sub0:0), o31500[LinkedList$Entry.next]o31498:0, o30922[LinkedList$Entry.next]o30920:0, 1, o30922[LinkedList$Entry.next]o30500:0) :|: o30907[LinkedList$Entry.next]o30500:0 > -1 && o30922[LinkedList$Entry.next]o30500:0 < o30907[LinkedList$Entry.next]o30500:0 && o30922[LinkedList$Entry.next]o30920:0 < o30907[LinkedList$Entry.next]o30907:0 && o30922[LinkedList$Entry.next]o30500:0 > 0 && o30907[LinkedList$Entry.next]o30907:0 > -1 && i8891:0 > 1 && i4071:0 > 0 37.72/13.06 f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675:0), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053:0), java.lang.Object(o31241sub1455689053:0))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053:0), java.lang.Object(o31241sub1455689053:0))), o30502[LinkedList$Entry.next]o30500:0, o30504[LinkedList$Entry.next]o30502:0, o30502[LinkedList$Entry.next]o30504:0, o30504[LinkedList$Entry.next]o30500:0) -> f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675:0), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(o31434sub0:0), java.lang.Object(o30503sub0:0), java.lang.Object(o31434sub0:0), o30502[LinkedList$Entry.next]o30500:0, o30918[LinkedList$Entry.next]o30502:0, o31430[LinkedList$Entry.next]o31434:0, o30918[LinkedList$Entry.next]o30500:0) :|: o30502[LinkedList$Entry.next]o30504:0 > 0 && o30504[LinkedList$Entry.next]o30502:0 > 0 && o30504[LinkedList$Entry.next]o30500:0 > -1 && o30918[LinkedList$Entry.next]o30500:0 < o30504[LinkedList$Entry.next]o30500:0 && o30918[LinkedList$Entry.next]o30502:0 < o30504[LinkedList$Entry.next]o30502:0 && o30918[LinkedList$Entry.next]o30500:0 > 0 && o31430[LinkedList$Entry.next]o31434:0 > o30502[LinkedList$Entry.next]o30504:0 && i8891:0 > 1 && i4071:0 > 0 37.72/13.06 f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), 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(o30922sub71839153:0), java.lang.Object(javaUtilEx.Content(EOC)))), o30501-1383850675:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828:0), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828:0), java.lang.Object(javaUtilEx.Content(EOC)))), o30907[LinkedList$Entry.next]o30500:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30500:0) -> f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), 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(o30922sub71839153:0), java.lang.Object(javaUtilEx.Content(EOC)))), o30501-1383850675:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31530sub0:0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31530sub0:0), o31528[LinkedList$Entry.next]o31526:0, o30922[LinkedList$Entry.next]o30920:0, 1, o30922[LinkedList$Entry.next]o30500:0) :|: o30907[LinkedList$Entry.next]o30500:0 > -1 && o30922[LinkedList$Entry.next]o30500:0 < o30907[LinkedList$Entry.next]o30500:0 && o30922[LinkedList$Entry.next]o30920:0 < o30907[LinkedList$Entry.next]o30907:0 && o30922[LinkedList$Entry.next]o30500:0 > 0 && o30907[LinkedList$Entry.next]o30907:0 > -1 && i8891:0 > 1 && i4071:0 > 0 37.72/13.06 Removed following non-SCC rules: 37.72/13.06 f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675:0), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053:0), o309171455689053:0)), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053:0), o309171455689053:0)), o30502[LinkedList$Entry.next]o30500:0, o30504[LinkedList$Entry.next]o30502:0, o30502[LinkedList$Entry.next]o30504:0, o30504[LinkedList$Entry.next]o30500:0) -> f9860_0_equals_Load(EOS(STATIC_9860), java.lang.Object(o30503sub0:0), o309170:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub1455568742:0), o305011455568742:0)), java.lang.Object(o30502sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30918sub1455689053:0), o309171455689053:0)), java.lang.Object(o30918sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30502sub-1383850675:0), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), o309170:0, o30502[LinkedList$Entry.next]o30500:0, o30502[LinkedList$Entry.next]o30504:0, o30918[LinkedList$Entry.next]o30500:0, o30918[LinkedList$Entry.next]o30502:0) :|: o30504[LinkedList$Entry.next]o30502:0 > 0 && o30504[LinkedList$Entry.next]o30500:0 > -1 && o30918[LinkedList$Entry.next]o30500:0 < o30504[LinkedList$Entry.next]o30500:0 && o30918[LinkedList$Entry.next]o30502:0 < o30504[LinkedList$Entry.next]o30502:0 && o30502[LinkedList$Entry.next]o30504:0 > 0 && i8891:0 > 1 && i4071:0 > 0 37.72/13.06 f9457_0_indexOf_FieldAccess(EOS(STATIC_9457), 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(o30922sub71839153:0), o3092171839153:0)), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828:0), o309211455689828:0)), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828:0), o309211455689828:0)), o30907[LinkedList$Entry.next]o30500:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30500:0) -> f9922_0_equals_Load(EOS(STATIC_9922), java.lang.Object(o30503sub0:0), o309210:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub-1383708726:0), o30921-1383708726:0)), o305011455568742:0)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30922sub1455689828:0), o309211455689828:0)), java.lang.Object(o30922sub0: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(o30922sub71839153:0), o3092171839153:0)), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), o309210:0, o30922[LinkedList$Entry.next]o30500:0, o30922[LinkedList$Entry.next]o30920:0) :|: o30907[LinkedList$Entry.next]o30500:0 > -1 && o30922[LinkedList$Entry.next]o30500:0 < o30907[LinkedList$Entry.next]o30500:0 && o30922[LinkedList$Entry.next]o30920:0 < o30907[LinkedList$Entry.next]o30907:0 && o30907[LinkedList$Entry.next]o30907:0 > -1 && i8891:0 > 1 && i4071:0 > 0 37.72/13.06 Filtered constant ground arguments: 37.72/13.06 f9457_0_indexOf_FieldAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f9457_0_indexOf_FieldAccess(x2, x3, x4, x5, x6, x7, x8, x9, x10) 37.72/13.06 EOS(x1) -> EOS 37.72/13.06 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 37.72/13.06 javaUtilEx.Content(x1) -> javaUtilEx.Content 37.72/13.06 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 37.72/13.06 Filtered duplicate arguments: 37.72/13.06 f9457_0_indexOf_FieldAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f9457_0_indexOf_FieldAccess(x1, x4, x5, x6, x7, x8, x9) 37.72/13.06 Finished conversion. Obtained 6 rules.P rules: 37.72/13.06 f9457_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(o30922sub71839153:0), NULL)), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30922sub1455689828:0), NULL)), o30907[LinkedList$Entry.next]o30500:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) -> f9457_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(o30922sub71839153:0), NULL)), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(o31502sub0:0), o31500[LinkedList$Entry.next]o31498:0, o30922[LinkedList$Entry.next]o30920:0, 1, o30922[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) :|: o30922[LinkedList$Entry.next]o30500:0 < o30907[LinkedList$Entry.next]o30500:0 && o30907[LinkedList$Entry.next]o30500:0 > -1 && o30922[LinkedList$Entry.next]o30920:0 < o30907[LinkedList$Entry.next]o30907:0 && o30922[LinkedList$Entry.next]o30500:0 > 0 && o30907[LinkedList$Entry.next]o30907:0 > -1 && i4071:0 > 0 && i8891:0 > 1 37.72/13.06 f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30502sub-1383850675:0), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30918sub1455689053:0), NULL)), o30502[LinkedList$Entry.next]o30500:0, o30504[LinkedList$Entry.next]o30502:0, o30502[LinkedList$Entry.next]o30504:0, o30504[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) -> f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30502sub-1383850675:0), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(o31434sub0:0), o30502[LinkedList$Entry.next]o30500:0, o30918[LinkedList$Entry.next]o30502:0, o31430[LinkedList$Entry.next]o31434:0, o30918[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) :|: o30504[LinkedList$Entry.next]o30502:0 > 0 && o30502[LinkedList$Entry.next]o30504:0 > 0 && o30504[LinkedList$Entry.next]o30500:0 > -1 && o30918[LinkedList$Entry.next]o30500:0 < o30504[LinkedList$Entry.next]o30500:0 && o30918[LinkedList$Entry.next]o30502:0 < o30504[LinkedList$Entry.next]o30502:0 && o30918[LinkedList$Entry.next]o30500:0 > 0 && o31430[LinkedList$Entry.next]o31434:0 > o30502[LinkedList$Entry.next]o30504:0 && i4071:0 > 0 && i8891:0 > 1 37.72/13.06 f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30502sub-1383850675:0), o30501-1383850675:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30918sub1455689053:0), java.lang.Object(javaUtilEx.Content))), o30502[LinkedList$Entry.next]o30500:0, o30504[LinkedList$Entry.next]o30502:0, o30502[LinkedList$Entry.next]o30504:0, o30504[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) -> f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30502sub-1383850675:0), o30501-1383850675:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o31470sub0:0), o30502[LinkedList$Entry.next]o30500:0, o30918[LinkedList$Entry.next]o30502:0, o31466[LinkedList$Entry.next]o31470:0, o30918[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) :|: o30504[LinkedList$Entry.next]o30502:0 > 0 && o30502[LinkedList$Entry.next]o30504:0 > 0 && o31466[LinkedList$Entry.next]o31470:0 > o30502[LinkedList$Entry.next]o30504:0 && o30504[LinkedList$Entry.next]o30500:0 > -1 && o30918[LinkedList$Entry.next]o30500:0 < o30504[LinkedList$Entry.next]o30500:0 && o30918[LinkedList$Entry.next]o30502:0 < o30504[LinkedList$Entry.next]o30502:0 && o30918[LinkedList$Entry.next]o30500:0 > 0 && i4071:0 > 0 && i8891:0 > 1 37.72/13.06 f9457_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(o30922sub71839153:0), java.lang.Object(o31321sub71839153:0))), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30922sub1455689828:0), java.lang.Object(o31321sub1455689828:0))), o30907[LinkedList$Entry.next]o30500:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) -> f9457_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(o30922sub71839153:0), java.lang.Object(o31321sub71839153:0))), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(o31502sub0:0), o31500[LinkedList$Entry.next]o31498:0, o30922[LinkedList$Entry.next]o30920:0, 1, o30922[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) :|: o30922[LinkedList$Entry.next]o30500:0 < o30907[LinkedList$Entry.next]o30500:0 && o30907[LinkedList$Entry.next]o30500:0 > -1 && o30922[LinkedList$Entry.next]o30920:0 < o30907[LinkedList$Entry.next]o30907:0 && o30922[LinkedList$Entry.next]o30500:0 > 0 && o30907[LinkedList$Entry.next]o30907:0 > -1 && i4071:0 > 0 && i8891:0 > 1 37.72/13.06 f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30502sub-1383850675:0), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30918sub1455689053:0), java.lang.Object(o31241sub1455689053:0))), o30502[LinkedList$Entry.next]o30500:0, o30504[LinkedList$Entry.next]o30502:0, o30502[LinkedList$Entry.next]o30504:0, o30504[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) -> f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30502sub-1383850675:0), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(o31434sub0:0), o30502[LinkedList$Entry.next]o30500:0, o30918[LinkedList$Entry.next]o30502:0, o31430[LinkedList$Entry.next]o31434:0, o30918[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) :|: o30504[LinkedList$Entry.next]o30502:0 > 0 && o30502[LinkedList$Entry.next]o30504:0 > 0 && o30504[LinkedList$Entry.next]o30500:0 > -1 && o30918[LinkedList$Entry.next]o30500:0 < o30504[LinkedList$Entry.next]o30500:0 && o30918[LinkedList$Entry.next]o30502:0 < o30504[LinkedList$Entry.next]o30502:0 && o30918[LinkedList$Entry.next]o30500:0 > 0 && o31430[LinkedList$Entry.next]o31434:0 > o30502[LinkedList$Entry.next]o30504:0 && i4071:0 > 0 && i8891:0 > 1 37.72/13.06 f9457_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(o30922sub71839153:0), java.lang.Object(javaUtilEx.Content))), o30501-1383850675:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30922sub1455689828:0), java.lang.Object(javaUtilEx.Content))), o30907[LinkedList$Entry.next]o30500:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) -> f9457_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(o30922sub71839153:0), java.lang.Object(javaUtilEx.Content))), o30501-1383850675:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o31530sub0:0), o31528[LinkedList$Entry.next]o31526:0, o30922[LinkedList$Entry.next]o30920:0, 1, o30922[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) :|: o30922[LinkedList$Entry.next]o30500:0 < o30907[LinkedList$Entry.next]o30500:0 && o30907[LinkedList$Entry.next]o30500:0 > -1 && o30922[LinkedList$Entry.next]o30920:0 < o30907[LinkedList$Entry.next]o30907:0 && o30922[LinkedList$Entry.next]o30500:0 > 0 && o30907[LinkedList$Entry.next]o30907:0 > -1 && i4071:0 > 0 && i8891:0 > 1 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (22) 37.72/13.06 Obligation: 37.72/13.06 Rules: 37.72/13.06 f9457_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(o30922sub71839153:0), NULL)), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30922sub1455689828:0), NULL)), o30907[LinkedList$Entry.next]o30500:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) -> f9457_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(o30922sub71839153:0), NULL)), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(o31502sub0:0), o31500[LinkedList$Entry.next]o31498:0, o30922[LinkedList$Entry.next]o30920:0, 1, o30922[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) :|: o30922[LinkedList$Entry.next]o30500:0 < o30907[LinkedList$Entry.next]o30500:0 && o30907[LinkedList$Entry.next]o30500:0 > -1 && o30922[LinkedList$Entry.next]o30920:0 < o30907[LinkedList$Entry.next]o30907:0 && o30922[LinkedList$Entry.next]o30500:0 > 0 && o30907[LinkedList$Entry.next]o30907:0 > -1 && i4071:0 > 0 && i8891:0 > 1 37.72/13.06 f9457_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), NULL)), x4, x5, x6, x7, x1) -> f9457_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(x8), x4, x9, x10, x11, x1) :|: x5 > 0 && x6 > 0 && x7 > -1 && x11 < x7 && x9 < x5 && x11 > 0 && x10 > x6 && x12 > 0 && x13 > 1 37.72/13.06 f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16), java.lang.Object(javaUtilEx.Content))), x17, x18, x19, x20, x15) -> f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x21), x17, x22, x23, x24, x15) :|: x18 > 0 && x19 > 0 && x23 > x19 && x20 > -1 && x24 < x20 && x22 < x18 && x24 > 0 && x25 > 0 && x26 > 1 37.72/13.06 f9457_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(x27), java.lang.Object(x28))), x29))))))), java.lang.Object(x30), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x31), java.lang.Object(x32))), x33, x34, x34, x33, x29) -> f9457_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(x27), java.lang.Object(x28))), x29))))))), java.lang.Object(x30), java.lang.Object(x35), x36, x37, 1, x38, x29) :|: x38 < x33 && x33 > -1 && x37 < x34 && x38 > 0 && x34 > -1 && x39 > 0 && x40 > 1 37.72/13.06 f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x41), x42))))))), java.lang.Object(x43), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x44), java.lang.Object(x45))), x46, x47, x48, x49, x42) -> f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x41), x42))))))), java.lang.Object(x43), java.lang.Object(x50), x46, x51, x52, x53, x42) :|: x47 > 0 && x48 > 0 && x49 > -1 && x53 < x49 && x51 < x47 && x53 > 0 && x52 > x48 && x54 > 0 && x55 > 1 37.72/13.06 f9457_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(x56), java.lang.Object(javaUtilEx.Content))), x57))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x58), java.lang.Object(javaUtilEx.Content))), x59, x60, x60, x59, x57) -> f9457_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(x56), java.lang.Object(javaUtilEx.Content))), x57))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x61), x62, x63, 1, x64, x57) :|: x64 < x59 && x59 > -1 && x63 < x60 && x64 > 0 && x60 > -1 && x65 > 0 && x66 > 1 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (23) IRSFormatTransformerProof (EQUIVALENT) 37.72/13.06 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (24) 37.72/13.06 Obligation: 37.72/13.06 Rules: 37.72/13.06 f9457_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(o30922sub71839153:0), NULL)), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30922sub1455689828:0), NULL)), o30907[LinkedList$Entry.next]o30500:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) -> f9457_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(o30922sub71839153:0), NULL)), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(o31502sub0:0), o31500[LinkedList$Entry.next]o31498:0, o30922[LinkedList$Entry.next]o30920:0, 1, o30922[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) :|: o30922[LinkedList$Entry.next]o30500:0 < o30907[LinkedList$Entry.next]o30500:0 && o30907[LinkedList$Entry.next]o30500:0 > -1 && o30922[LinkedList$Entry.next]o30920:0 < o30907[LinkedList$Entry.next]o30907:0 && o30922[LinkedList$Entry.next]o30500:0 > 0 && o30907[LinkedList$Entry.next]o30907:0 > -1 && i4071:0 > 0 && i8891:0 > 1 37.72/13.06 f9457_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), NULL)), x4, x5, x6, x7, x1) -> f9457_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(x8), x4, x9, x10, x11, x1) :|: x5 > 0 && x6 > 0 && x7 > -1 && x11 < x7 && x9 < x5 && x11 > 0 && x10 > x6 && x12 > 0 && x13 > 1 37.72/13.06 f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16), java.lang.Object(javaUtilEx.Content))), x17, x18, x19, x20, x15) -> f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x21), x17, x22, x23, x24, x15) :|: x18 > 0 && x19 > 0 && x23 > x19 && x20 > -1 && x24 < x20 && x22 < x18 && x24 > 0 && x25 > 0 && x26 > 1 37.72/13.06 f9457_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(x27), java.lang.Object(x28))), x29))))))), java.lang.Object(x30), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x31), java.lang.Object(x32))), x33, x34, x34, x33, x29) -> f9457_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(x27), java.lang.Object(x28))), x29))))))), java.lang.Object(x30), java.lang.Object(x35), x36, x37, 1, x38, x29) :|: x38 < x33 && x33 > -1 && x37 < x34 && x38 > 0 && x34 > -1 && x39 > 0 && x40 > 1 37.72/13.06 f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x41), x42))))))), java.lang.Object(x43), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x44), java.lang.Object(x45))), x46, x47, x48, x49, x42) -> f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x41), x42))))))), java.lang.Object(x43), java.lang.Object(x50), x46, x51, x52, x53, x42) :|: x47 > 0 && x48 > 0 && x49 > -1 && x53 < x49 && x51 < x47 && x53 > 0 && x52 > x48 && x54 > 0 && x55 > 1 37.72/13.06 f9457_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(x56), java.lang.Object(javaUtilEx.Content))), x57))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x58), java.lang.Object(javaUtilEx.Content))), x59, x60, x60, x59, x57) -> f9457_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(x56), java.lang.Object(javaUtilEx.Content))), x57))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x61), x62, x63, 1, x64, x57) :|: x64 < x59 && x59 > -1 && x63 < x60 && x64 > 0 && x60 > -1 && x65 > 0 && x66 > 1 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (25) IRSwTTerminationDigraphProof (EQUIVALENT) 37.72/13.06 Constructed termination digraph! 37.72/13.06 Nodes: 37.72/13.06 (1) f9457_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(o30922sub71839153:0), NULL)), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30922sub1455689828:0), NULL)), o30907[LinkedList$Entry.next]o30500:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) -> f9457_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(o30922sub71839153:0), NULL)), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(o31502sub0:0), o31500[LinkedList$Entry.next]o31498:0, o30922[LinkedList$Entry.next]o30920:0, 1, o30922[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) :|: o30922[LinkedList$Entry.next]o30500:0 < o30907[LinkedList$Entry.next]o30500:0 && o30907[LinkedList$Entry.next]o30500:0 > -1 && o30922[LinkedList$Entry.next]o30920:0 < o30907[LinkedList$Entry.next]o30907:0 && o30922[LinkedList$Entry.next]o30500:0 > 0 && o30907[LinkedList$Entry.next]o30907:0 > -1 && i4071:0 > 0 && i8891:0 > 1 37.72/13.06 (2) f9457_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), NULL)), x4, x5, x6, x7, x1) -> f9457_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(x8), x4, x9, x10, x11, x1) :|: x5 > 0 && x6 > 0 && x7 > -1 && x11 < x7 && x9 < x5 && x11 > 0 && x10 > x6 && x12 > 0 && x13 > 1 37.72/13.06 (3) f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16), java.lang.Object(javaUtilEx.Content))), x17, x18, x19, x20, x15) -> f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x21), x17, x22, x23, x24, x15) :|: x18 > 0 && x19 > 0 && x23 > x19 && x20 > -1 && x24 < x20 && x22 < x18 && x24 > 0 && x25 > 0 && x26 > 1 37.72/13.06 (4) f9457_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(x27), java.lang.Object(x28))), x29))))))), java.lang.Object(x30), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x31), java.lang.Object(x32))), x33, x34, x34, x33, x29) -> f9457_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(x27), java.lang.Object(x28))), x29))))))), java.lang.Object(x30), java.lang.Object(x35), x36, x37, 1, x38, x29) :|: x38 < x33 && x33 > -1 && x37 < x34 && x38 > 0 && x34 > -1 && x39 > 0 && x40 > 1 37.72/13.06 (5) f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x41), x42))))))), java.lang.Object(x43), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x44), java.lang.Object(x45))), x46, x47, x48, x49, x42) -> f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x41), x42))))))), java.lang.Object(x43), java.lang.Object(x50), x46, x51, x52, x53, x42) :|: x47 > 0 && x48 > 0 && x49 > -1 && x53 < x49 && x51 < x47 && x53 > 0 && x52 > x48 && x54 > 0 && x55 > 1 37.72/13.06 (6) f9457_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(x56), java.lang.Object(javaUtilEx.Content))), x57))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x58), java.lang.Object(javaUtilEx.Content))), x59, x60, x60, x59, x57) -> f9457_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(x56), java.lang.Object(javaUtilEx.Content))), x57))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x61), x62, x63, 1, x64, x57) :|: x64 < x59 && x59 > -1 && x63 < x60 && x64 > 0 && x60 > -1 && x65 > 0 && x66 > 1 37.72/13.06 37.72/13.06 Arcs: 37.72/13.06 (1) -> (1), (2), (3), (5) 37.72/13.06 (2) -> (1), (2), (3), (4), (5), (6) 37.72/13.06 (3) -> (1), (2), (3), (4), (5), (6) 37.72/13.06 (4) -> (2), (3), (4), (5), (6) 37.72/13.06 (5) -> (1), (2), (3), (4), (5), (6) 37.72/13.06 (6) -> (2), (3), (4), (5), (6) 37.72/13.06 37.72/13.06 This digraph is fully evaluated! 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (26) 37.72/13.06 Obligation: 37.72/13.06 37.72/13.06 Termination digraph: 37.72/13.06 Nodes: 37.72/13.06 (1) f9457_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(o30922sub71839153:0), NULL)), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30922sub1455689828:0), NULL)), o30907[LinkedList$Entry.next]o30500:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30907:0, o30907[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) -> f9457_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(o30922sub71839153:0), NULL)), o30501-1383850675:0))))))), java.lang.Object(o30503sub0:0), java.lang.Object(o31502sub0:0), o31500[LinkedList$Entry.next]o31498:0, o30922[LinkedList$Entry.next]o30920:0, 1, o30922[LinkedList$Entry.next]o30500:0, o30501-1383850675:0) :|: o30922[LinkedList$Entry.next]o30500:0 < o30907[LinkedList$Entry.next]o30500:0 && o30907[LinkedList$Entry.next]o30500:0 > -1 && o30922[LinkedList$Entry.next]o30920:0 < o30907[LinkedList$Entry.next]o30907:0 && o30922[LinkedList$Entry.next]o30500:0 > 0 && o30907[LinkedList$Entry.next]o30907:0 > -1 && i4071:0 > 0 && i8891:0 > 1 37.72/13.06 (2) f9457_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), NULL)), x4, x5, x6, x7, x1) -> f9457_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(x8), x4, x9, x10, x11, x1) :|: x5 > 0 && x6 > 0 && x7 > -1 && x11 < x7 && x9 < x5 && x11 > 0 && x10 > x6 && x12 > 0 && x13 > 1 37.72/13.06 (3) f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16), java.lang.Object(javaUtilEx.Content))), x17, x18, x19, x20, x15) -> f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x21), x17, x22, x23, x24, x15) :|: x18 > 0 && x19 > 0 && x23 > x19 && x20 > -1 && x24 < x20 && x22 < x18 && x24 > 0 && x25 > 0 && x26 > 1 37.72/13.06 (4) f9457_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(x27), java.lang.Object(x28))), x29))))))), java.lang.Object(x30), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x31), java.lang.Object(x32))), x33, x34, x34, x33, x29) -> f9457_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(x27), java.lang.Object(x28))), x29))))))), java.lang.Object(x30), java.lang.Object(x35), x36, x37, 1, x38, x29) :|: x38 < x33 && x33 > -1 && x37 < x34 && x38 > 0 && x34 > -1 && x39 > 0 && x40 > 1 37.72/13.06 (5) f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x41), x42))))))), java.lang.Object(x43), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x44), java.lang.Object(x45))), x46, x47, x48, x49, x42) -> f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x41), x42))))))), java.lang.Object(x43), java.lang.Object(x50), x46, x51, x52, x53, x42) :|: x47 > 0 && x48 > 0 && x49 > -1 && x53 < x49 && x51 < x47 && x53 > 0 && x52 > x48 && x54 > 0 && x55 > 1 37.72/13.06 (6) f9457_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(x56), java.lang.Object(javaUtilEx.Content))), x57))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x58), java.lang.Object(javaUtilEx.Content))), x59, x60, x60, x59, x57) -> f9457_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(x56), java.lang.Object(javaUtilEx.Content))), x57))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x61), x62, x63, 1, x64, x57) :|: x64 < x59 && x59 > -1 && x63 < x60 && x64 > 0 && x60 > -1 && x65 > 0 && x66 > 1 37.72/13.06 37.72/13.06 Arcs: 37.72/13.06 (1) -> (1), (2), (3), (5) 37.72/13.06 (2) -> (1), (2), (3), (4), (5), (6) 37.72/13.06 (3) -> (1), (2), (3), (4), (5), (6) 37.72/13.06 (4) -> (2), (3), (4), (5), (6) 37.72/13.06 (5) -> (1), (2), (3), (4), (5), (6) 37.72/13.06 (6) -> (2), (3), (4), (5), (6) 37.72/13.06 37.72/13.06 This digraph is fully evaluated! 37.72/13.06 37.72/13.06 ---------------------------------------- 37.72/13.06 37.72/13.06 (27) IntTRSCompressionProof (EQUIVALENT) 37.72/13.07 Compressed rules. 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (28) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f9457_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(x27:0), java.lang.Object(x28:0))), x29:0))))))), java.lang.Object(x30:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x31:0), java.lang.Object(x32:0))), x33:0, x34:0, x34:0, x33:0, x29:0) -> f9457_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(x27:0), java.lang.Object(x28:0))), x29:0))))))), java.lang.Object(x30:0), java.lang.Object(x35:0), x36:0, x37:0, 1, x38:0, x29:0) :|: x39:0 > 0 && x40:0 > 1 && x34:0 > -1 && x38:0 > 0 && x37:0 < x34:0 && x33:0 > -1 && x38:0 < x33:0 37.72/13.07 f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x41:0), x42:0))))))), java.lang.Object(x43:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x44:0), java.lang.Object(x45:0))), x46:0, x47:0, x48:0, x49:0, x42:0) -> f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x41:0), x42:0))))))), java.lang.Object(x43:0), java.lang.Object(x50:0), x46:0, x51:0, x52:0, x53:0, x42:0) :|: x54:0 > 0 && x55:0 > 1 && x52:0 > x48:0 && x53:0 > 0 && x51:0 < x47:0 && x53:0 < x49:0 && x49:0 > -1 && x48:0 > 0 && x47:0 > 0 37.72/13.07 f9457_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), NULL)), x4:0, x5:0, x6:0, x7:0, x1:0) -> f9457_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(x8:0), x4:0, x9:0, x10:0, x11:0, x1:0) :|: x12:0 > 0 && x13:0 > 1 && x6:0 < x10:0 && x11:0 > 0 && x9:0 < x5:0 && x7:0 > x11:0 && x7:0 > -1 && x6:0 > 0 && x5:0 > 0 37.72/13.07 f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14:0), x15:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16:0), java.lang.Object(javaUtilEx.Content))), x17:0, x18:0, x19:0, x20:0, x15:0) -> f9457_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14:0), x15:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x21:0), x17:0, x22:0, x23:0, x24:0, x15:0) :|: x25:0 > 0 && x26:0 > 1 && x24:0 > 0 && x22:0 < x18:0 && x24:0 < x20:0 && x20:0 > -1 && x23:0 > x19:0 && x19:0 > 0 && x18:0 > 0 37.72/13.07 f9457_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(x56:0), java.lang.Object(javaUtilEx.Content))), x57:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x58:0), java.lang.Object(javaUtilEx.Content))), x59:0, x60:0, x60:0, x59:0, x57:0) -> f9457_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(x56:0), java.lang.Object(javaUtilEx.Content))), x57:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x61:0), x62:0, x63:0, 1, x64:0, x57:0) :|: x65:0 > 0 && x66:0 > 1 && x60:0 > -1 && x64:0 > 0 && x63:0 < x60:0 && x59:0 > -1 && x64:0 < x59:0 37.72/13.07 f9457_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(o30922sub71839153:0:0), NULL)), o30501-1383850675:0:0))))))), java.lang.Object(o30503sub0:0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30922sub1455689828:0:0), NULL)), o30907[LinkedList$Entry.next]o30500:0:0, o30907[LinkedList$Entry.next]o30907:0:0, o30907[LinkedList$Entry.next]o30907:0:0, o30907[LinkedList$Entry.next]o30500:0:0, o30501-1383850675:0:0) -> f9457_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(o30922sub71839153:0:0), NULL)), o30501-1383850675:0:0))))))), java.lang.Object(o30503sub0:0:0), java.lang.Object(o31502sub0:0:0), o31500[LinkedList$Entry.next]o31498:0:0, o30922[LinkedList$Entry.next]o30920:0:0, 1, o30922[LinkedList$Entry.next]o30500:0:0, o30501-1383850675:0:0) :|: i4071:0:0 > 0 && i8891:0:0 > 1 && o30907[LinkedList$Entry.next]o30907:0:0 > -1 && o30922[LinkedList$Entry.next]o30500:0:0 > 0 && o30922[LinkedList$Entry.next]o30920:0:0 < o30907[LinkedList$Entry.next]o30907:0:0 && o30907[LinkedList$Entry.next]o30500:0:0 > -1 && o30922[LinkedList$Entry.next]o30500:0:0 < o30907[LinkedList$Entry.next]o30500:0:0 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (29) TempFilterProof (SOUND) 37.72/13.07 Used the following sort dictionary for filtering: 37.72/13.07 f9457_0_indexOf_FieldAccess(VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, VARIABLE, INTEGER, VARIABLE) 37.72/13.07 java.lang.Object(VARIABLE) 37.72/13.07 javaUtilEx.AbstractCollection(VARIABLE) 37.72/13.07 javaUtilEx.AbstractList(VARIABLE) 37.72/13.07 javaUtilEx.AbstractSequentialList(VARIABLE) 37.72/13.07 javaUtilEx.LinkedList(VARIABLE) 37.72/13.07 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 37.72/13.07 NULL() 37.72/13.07 javaUtilEx.Content() 37.72/13.07 Replaced non-predefined constructor symbols by 0. 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (30) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f9457_0_indexOf_FieldAccess(c, c1, c2, x33:0, x34:0, x34:0, x33:0, x29:0) -> f9457_0_indexOf_FieldAccess(c3, c4, c5, x36:0, x37:0, c6, x38:0, x29:0) :|: c6 = 1 && (c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))))) && (x39:0 > 0 && x40:0 > 1 && x34:0 > -1 && x38:0 > 0 && x37:0 < x34:0 && x33:0 > -1 && x38:0 < x33:0) 37.72/13.07 f9457_0_indexOf_FieldAccess(c7, c8, c9, x46:0, x47:0, x48:0, x49:0, x42:0) -> f9457_0_indexOf_FieldAccess(c10, c11, c12, x46:0, x51:0, x52:0, x53:0, x42:0) :|: c12 = 0 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && c7 = 0)))) && (x54:0 > 0 && x55:0 > 1 && x52:0 > x48:0 && x53:0 > 0 && x51:0 < x47:0 && x53:0 < x49:0 && x49:0 > -1 && x48:0 > 0 && x47:0 > 0) 37.72/13.07 f9457_0_indexOf_FieldAccess(c13, c14, c15, x4:0, x5:0, x6:0, x7:0, x1:0) -> f9457_0_indexOf_FieldAccess(c16, c17, c18, x4:0, x9:0, x10:0, x11:0, x1:0) :|: c18 = 0 && (c17 = 0 && (c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)))) && (x12:0 > 0 && x13:0 > 1 && x6:0 < x10:0 && x11:0 > 0 && x9:0 < x5:0 && x7:0 > x11:0 && x7:0 > -1 && x6:0 > 0 && x5:0 > 0) 37.72/13.07 f9457_0_indexOf_FieldAccess(c19, c20, c21, x17:0, x18:0, x19:0, x20:0, x15:0) -> f9457_0_indexOf_FieldAccess(c22, c23, c24, x17:0, x22:0, x23:0, x24:0, x15:0) :|: c24 = 0 && (c23 = 0 && (c22 = 0 && (c21 = 0 && (c20 = 0 && c19 = 0)))) && (x25:0 > 0 && x26:0 > 1 && x24:0 > 0 && x22:0 < x18:0 && x24:0 < x20:0 && x20:0 > -1 && x23:0 > x19:0 && x19:0 > 0 && x18:0 > 0) 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (31) PolynomialOrderProcessor (EQUIVALENT) 37.72/13.07 Found the following polynomial interpretation: 37.72/13.07 [f9457_0_indexOf_FieldAccess(x, x1, x2, x3, x4, x5, x6, x7)] = -1 + c*x + c1*x1 + c2*x2 + 2*x4 37.72/13.07 37.72/13.07 The following rules are decreasing: 37.72/13.07 f9457_0_indexOf_FieldAccess(c, c1, c2, x33:0, x34:0, x34:0, x33:0, x29:0) -> f9457_0_indexOf_FieldAccess(c3, c4, c5, x36:0, x37:0, c6, x38:0, x29:0) :|: c6 = 1 && (c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))))) && (x39:0 > 0 && x40:0 > 1 && x34:0 > -1 && x38:0 > 0 && x37:0 < x34:0 && x33:0 > -1 && x38:0 < x33:0) 37.72/13.07 f9457_0_indexOf_FieldAccess(c7, c8, c9, x46:0, x47:0, x48:0, x49:0, x42:0) -> f9457_0_indexOf_FieldAccess(c10, c11, c12, x46:0, x51:0, x52:0, x53:0, x42:0) :|: c12 = 0 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && c7 = 0)))) && (x54:0 > 0 && x55:0 > 1 && x52:0 > x48:0 && x53:0 > 0 && x51:0 < x47:0 && x53:0 < x49:0 && x49:0 > -1 && x48:0 > 0 && x47:0 > 0) 37.72/13.07 f9457_0_indexOf_FieldAccess(c13, c14, c15, x4:0, x5:0, x6:0, x7:0, x1:0) -> f9457_0_indexOf_FieldAccess(c16, c17, c18, x4:0, x9:0, x10:0, x11:0, x1:0) :|: c18 = 0 && (c17 = 0 && (c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)))) && (x12:0 > 0 && x13:0 > 1 && x6:0 < x10:0 && x11:0 > 0 && x9:0 < x5:0 && x7:0 > x11:0 && x7:0 > -1 && x6:0 > 0 && x5:0 > 0) 37.72/13.07 f9457_0_indexOf_FieldAccess(c19, c20, c21, x17:0, x18:0, x19:0, x20:0, x15:0) -> f9457_0_indexOf_FieldAccess(c22, c23, c24, x17:0, x22:0, x23:0, x24:0, x15:0) :|: c24 = 0 && (c23 = 0 && (c22 = 0 && (c21 = 0 && (c20 = 0 && c19 = 0)))) && (x25:0 > 0 && x26:0 > 1 && x24:0 > 0 && x22:0 < x18:0 && x24:0 < x20:0 && x20:0 > -1 && x23:0 > x19:0 && x19:0 > 0 && x18:0 > 0) 37.72/13.07 The following rules are bounded: 37.72/13.07 f9457_0_indexOf_FieldAccess(c7, c8, c9, x46:0, x47:0, x48:0, x49:0, x42:0) -> f9457_0_indexOf_FieldAccess(c10, c11, c12, x46:0, x51:0, x52:0, x53:0, x42:0) :|: c12 = 0 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && c7 = 0)))) && (x54:0 > 0 && x55:0 > 1 && x52:0 > x48:0 && x53:0 > 0 && x51:0 < x47:0 && x53:0 < x49:0 && x49:0 > -1 && x48:0 > 0 && x47:0 > 0) 37.72/13.07 f9457_0_indexOf_FieldAccess(c13, c14, c15, x4:0, x5:0, x6:0, x7:0, x1:0) -> f9457_0_indexOf_FieldAccess(c16, c17, c18, x4:0, x9:0, x10:0, x11:0, x1:0) :|: c18 = 0 && (c17 = 0 && (c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)))) && (x12:0 > 0 && x13:0 > 1 && x6:0 < x10:0 && x11:0 > 0 && x9:0 < x5:0 && x7:0 > x11:0 && x7:0 > -1 && x6:0 > 0 && x5:0 > 0) 37.72/13.07 f9457_0_indexOf_FieldAccess(c19, c20, c21, x17:0, x18:0, x19:0, x20:0, x15:0) -> f9457_0_indexOf_FieldAccess(c22, c23, c24, x17:0, x22:0, x23:0, x24:0, x15:0) :|: c24 = 0 && (c23 = 0 && (c22 = 0 && (c21 = 0 && (c20 = 0 && c19 = 0)))) && (x25:0 > 0 && x26:0 > 1 && x24:0 > 0 && x22:0 < x18:0 && x24:0 < x20:0 && x20:0 > -1 && x23:0 > x19:0 && x19:0 > 0 && x18:0 > 0) 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (32) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f9457_0_indexOf_FieldAccess(c, c1, c2, x33:0, x34:0, x34:0, x33:0, x29:0) -> f9457_0_indexOf_FieldAccess(c3, c4, c5, x36:0, x37:0, c6, x38:0, x29:0) :|: c6 = 1 && (c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))))) && (x39:0 > 0 && x40:0 > 1 && x34:0 > -1 && x38:0 > 0 && x37:0 < x34:0 && x33:0 > -1 && x38:0 < x33:0) 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (33) PolynomialOrderProcessor (EQUIVALENT) 37.72/13.07 Found the following polynomial interpretation: 37.72/13.07 [f9457_0_indexOf_FieldAccess(x, x1, x2, x3, x4, x5, x6, x7)] = c*x + c1*x1 + c2*x2 + x6 37.72/13.07 37.72/13.07 The following rules are decreasing: 37.72/13.07 f9457_0_indexOf_FieldAccess(c, c1, c2, x33:0, x34:0, x34:0, x33:0, x29:0) -> f9457_0_indexOf_FieldAccess(c3, c4, c5, x36:0, x37:0, c6, x38:0, x29:0) :|: c6 = 1 && (c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))))) && (x39:0 > 0 && x40:0 > 1 && x34:0 > -1 && x38:0 > 0 && x37:0 < x34:0 && x33:0 > -1 && x38:0 < x33:0) 37.72/13.07 The following rules are bounded: 37.72/13.07 f9457_0_indexOf_FieldAccess(c, c1, c2, x33:0, x34:0, x34:0, x33:0, x29:0) -> f9457_0_indexOf_FieldAccess(c3, c4, c5, x36:0, x37:0, c6, x38:0, x29:0) :|: c6 = 1 && (c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))))) && (x39:0 > 0 && x40:0 > 1 && x34:0 > -1 && x38:0 > 0 && x37:0 < x34:0 && x33:0 > -1 && x38:0 < x33:0) 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (34) 37.72/13.07 YES 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (35) 37.72/13.07 Obligation: 37.72/13.07 SCC of termination graph based on JBC Program. 37.72/13.07 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateIndexOf.main([Ljava/lang/String;)V 37.72/13.07 SCC calls the following helper methods: javaUtilEx.Content.equals(Ljava/lang/Object;)Z 37.72/13.07 Performed SCC analyses: 37.72/13.07 *Used field analysis yielded the following read fields: 37.72/13.07 *javaUtilEx.LinkedList$Entry: [next, element] 37.72/13.07 *javaUtilEx.LinkedList: [header] 37.72/13.07 *Marker field analysis yielded the following relations that could be markers: 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (36) SCCToIRSProof (SOUND) 37.72/13.07 Transformed FIGraph SCCs to intTRSs. Log: 37.72/13.07 Generated rules. Obtained 69 IRulesP rules: 37.72/13.07 f9525_0_indexOf_EQ(EOS(STATIC_9525), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31384sub1456440431), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31379[LinkedList$Entry.next]o31382, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379) -> f9537_0_indexOf_Inc(EOS(STATIC_9537), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31384sub1456440431), java.lang.Object(javaUtilEx.Content(EOC)))), o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31379[LinkedList$Entry.next]o31382, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379) :|: TRUE && matching1 = 0 37.72/13.07 f9537_0_indexOf_Inc(EOS(STATIC_9537), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31384sub1456440431), java.lang.Object(javaUtilEx.Content(EOC)))), o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31379[LinkedList$Entry.next]o31382, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379) -> f9549_0_indexOf_Load(EOS(STATIC_9549), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31384sub1456440431), java.lang.Object(javaUtilEx.Content(EOC)))), o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31379[LinkedList$Entry.next]o31382, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379) :|: TRUE 37.72/13.07 f9549_0_indexOf_Load(EOS(STATIC_9549), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31384sub1456440431), java.lang.Object(javaUtilEx.Content(EOC)))), o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31379[LinkedList$Entry.next]o31382, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379) -> f9558_0_indexOf_FieldAccess(EOS(STATIC_9558), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31384sub1456440431), java.lang.Object(javaUtilEx.Content(EOC)))), o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31379[LinkedList$Entry.next]o31382, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379) :|: TRUE 37.72/13.07 f9558_0_indexOf_FieldAccess(EOS(STATIC_9558), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31384sub1456440431), java.lang.Object(javaUtilEx.Content(EOC)))), o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31379[LinkedList$Entry.next]o31382, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379) -> f9566_0_indexOf_Store(EOS(STATIC_9566), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31384sub0), o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379, o31379[LinkedList$Entry.next]o31384) :|: o31379[LinkedList$Entry.next]o31384 > o31379[LinkedList$Entry.next]o31382 && o31379[LinkedList$Entry.next]o31382 >= 0 37.72/13.07 f9566_0_indexOf_Store(EOS(STATIC_9566), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31384sub0), o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379, o31379[LinkedList$Entry.next]o31384) -> f9574_0_indexOf_JMP(EOS(STATIC_9574), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31384sub0), o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379, o31379[LinkedList$Entry.next]o31384) :|: TRUE 37.72/13.07 f9574_0_indexOf_JMP(EOS(STATIC_9574), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31384sub0), o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379, o31379[LinkedList$Entry.next]o31384) -> f9581_0_indexOf_Load(EOS(STATIC_9581), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31384sub0), o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379, o31379[LinkedList$Entry.next]o31384) :|: TRUE 37.72/13.07 f9581_0_indexOf_Load(EOS(STATIC_9581), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31384sub0), o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379, o31379[LinkedList$Entry.next]o31384) -> f9435_0_indexOf_Load(EOS(STATIC_9435), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31384sub0), o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379, o31379[LinkedList$Entry.next]o31384) :|: TRUE 37.72/13.07 f9435_0_indexOf_Load(EOS(STATIC_9435), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380) -> f9438_0_indexOf_Load(EOS(STATIC_9438), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), java.lang.Object(o30380sub0), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380) :|: TRUE 37.72/13.07 f9438_0_indexOf_Load(EOS(STATIC_9438), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), java.lang.Object(o30380sub0), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380) -> f9440_0_indexOf_FieldAccess(EOS(STATIC_9440), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), java.lang.Object(o30380sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380) :|: TRUE 37.72/13.07 f9440_0_indexOf_FieldAccess(EOS(STATIC_9440), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), java.lang.Object(o30380sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380) -> f9442_0_indexOf_EQ(EOS(STATIC_9442), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), java.lang.Object(o30380sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub1455516042), o303761455516042)), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380) :|: TRUE 37.72/13.07 f9442_0_indexOf_EQ(EOS(STATIC_9442), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), java.lang.Object(o30380sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub1455516042), o303761455516042)), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380) -> f9444_0_indexOf_EQ(EOS(STATIC_9444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), java.lang.Object(o30380sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub1455516042), o303761455516042)), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380, o30380[LinkedList$Entry.next]o30375) :|: o30380[LinkedList$Entry.next]o30375 > 0 37.72/13.07 f9444_0_indexOf_EQ(EOS(STATIC_9444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), java.lang.Object(o30380sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub1455516042), o303761455516042)), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380, o30380[LinkedList$Entry.next]o30375) -> f9448_0_indexOf_Load(EOS(STATIC_9448), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380, o30380[LinkedList$Entry.next]o30375) :|: TRUE 37.72/13.07 f9448_0_indexOf_Load(EOS(STATIC_9448), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380, o30380[LinkedList$Entry.next]o30375) -> f9452_0_indexOf_Load(EOS(STATIC_9452), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), java.lang.Object(o30379sub0), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380, o30380[LinkedList$Entry.next]o30375) :|: TRUE 37.72/13.07 f9452_0_indexOf_Load(EOS(STATIC_9452), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), java.lang.Object(o30379sub0), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380, o30380[LinkedList$Entry.next]o30375) -> f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380, o30380[LinkedList$Entry.next]o30375) :|: TRUE 37.72/13.07 f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377, o30377[LinkedList$Entry.next]o30380, o30380[LinkedList$Entry.next]o30375) -> f9458_0_indexOf_FieldAccess(EOS(STATIC_9458), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), java.lang.Object(o30379sub0), java.lang.Object(o30380sub0), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30380, o30380[LinkedList$Entry.next]o30375, o30380[LinkedList$Entry.next]o30377) :|: o30380[LinkedList$Entry.next]o30377 > 0 && o30377[LinkedList$Entry.next]o30380 > 0 37.72/13.07 f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30904sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30904sub0), java.lang.Object(o30379sub0), java.lang.Object(o30904sub0), o30378[LinkedList$Entry.previous]o30375, o30904[LinkedList$Entry.next]o30375, o30904[LinkedList$Entry.next]o30904, o30904[LinkedList$Entry.next]o30904, o30904[LinkedList$Entry.next]o30375) -> f9459_0_indexOf_FieldAccess(EOS(STATIC_9459), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30904sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(o30904sub0), java.lang.Object(o30379sub0), java.lang.Object(o30904sub0), o30378[LinkedList$Entry.previous]o30375, o30904[LinkedList$Entry.next]o30375, o30904[LinkedList$Entry.next]o30904) :|: TRUE 37.72/13.07 f9458_0_indexOf_FieldAccess(EOS(STATIC_9458), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), o309091455688154)), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), o309091455688154)), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30908[LinkedList$Entry.next]o30375, o30908[LinkedList$Entry.next]o30377) -> f9463_0_indexOf_FieldAccess(EOS(STATIC_9463), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), o309091455688154)), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), o309091455688154)), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) :|: o30910[LinkedList$Entry.next]o30375 < o30908[LinkedList$Entry.next]o30375 && o30908[LinkedList$Entry.next]o30375 >= 0 && o30910[LinkedList$Entry.next]o30377 < o30908[LinkedList$Entry.next]o30377 && o30908[LinkedList$Entry.next]o30377 >= 0 37.72/13.07 f9463_0_indexOf_FieldAccess(EOS(STATIC_9463), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), o309091455688154)), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), o309091455688154)), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) -> f9467_0_indexOf_InvokeMethod(EOS(STATIC_9467), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), o309091455688154)), java.lang.Object(o30379sub0), o309090, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) :|: TRUE 37.72/13.07 f9467_0_indexOf_InvokeMethod(EOS(STATIC_9467), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), o309091455688154)), java.lang.Object(o30379sub0), o309090, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) -> f9471_0_equals_Load(EOS(STATIC_9471), java.lang.Object(o30379sub0), o309090, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub1455516042), o303761455516042)), java.lang.Object(o30377sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), o309091455688154)), java.lang.Object(o30910sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), o309090, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) :|: i8851 > 1 && i4071 >= 1 37.72/13.07 f9467_0_indexOf_InvokeMethod(EOS(STATIC_9467), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), o309091455688154)), java.lang.Object(o30379sub0), o309090, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) -> f9471_1_equals_Load(EOS(STATIC_9471), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), o309091455688154)), java.lang.Object(o30379sub0), o309090, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) :|: i8851 > 1 && i4071 >= 1 37.72/13.07 f9471_0_equals_Load(EOS(STATIC_9471), java.lang.Object(o30379sub0), o309090, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub1455516042), o303761455516042)), java.lang.Object(o30377sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), o309091455688154)), java.lang.Object(o30910sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), o309090, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) -> f10092_0_equals_Load(EOS(STATIC_10092), java.lang.Object(o30379sub0), o309090, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub1455516042), o303761455516042)), java.lang.Object(o30377sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), o309091455688154)), java.lang.Object(o30910sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o30379sub0), o309090, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) :|: TRUE 37.72/13.07 f9488_0_equals_Return(EOS(STATIC_9488), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o31059sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), NULL)), matching1, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) -> f9490_0_equals_Return(EOS(STATIC_9490), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o31059sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), NULL)), 0, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) :|: TRUE && matching1 = 0 37.72/13.07 f9490_0_equals_Return(EOS(STATIC_9490), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31366sub1456438571), o313651456438571)), matching1, o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31361[LinkedList$Entry.next]o31364, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361) -> f9515_0_indexOf_EQ(EOS(STATIC_9515), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31366sub1456438571), o313651456438571)), 0, o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31361[LinkedList$Entry.next]o31364, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361) :|: TRUE && matching1 = 0 37.72/13.07 f9515_0_indexOf_EQ(EOS(STATIC_9515), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31366sub1456438571), o313651456438571)), matching1, o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31361[LinkedList$Entry.next]o31364, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361) -> f9523_0_indexOf_Inc(EOS(STATIC_9523), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31366sub1456438571), o313651456438571)), o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31361[LinkedList$Entry.next]o31364, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361) :|: TRUE && matching1 = 0 37.72/13.07 f9523_0_indexOf_Inc(EOS(STATIC_9523), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31366sub1456438571), o313651456438571)), o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31361[LinkedList$Entry.next]o31364, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361) -> f9535_0_indexOf_Load(EOS(STATIC_9535), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31366sub1456438571), o313651456438571)), o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31361[LinkedList$Entry.next]o31364, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361) :|: TRUE 37.72/13.07 f9535_0_indexOf_Load(EOS(STATIC_9535), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31366sub1456438571), o313651456438571)), o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31361[LinkedList$Entry.next]o31364, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361) -> f9547_0_indexOf_FieldAccess(EOS(STATIC_9547), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31366sub1456438571), o313651456438571)), o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31361[LinkedList$Entry.next]o31364, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361) :|: TRUE 37.72/13.07 f9547_0_indexOf_FieldAccess(EOS(STATIC_9547), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31366sub1456438571), o313651456438571)), o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31361[LinkedList$Entry.next]o31364, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361) -> f9556_0_indexOf_Store(EOS(STATIC_9556), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(o31366sub0), o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361, o31361[LinkedList$Entry.next]o31366) :|: o31361[LinkedList$Entry.next]o31366 > o31361[LinkedList$Entry.next]o31364 && o31361[LinkedList$Entry.next]o31364 >= 0 37.72/13.07 f9556_0_indexOf_Store(EOS(STATIC_9556), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(o31366sub0), o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361, o31361[LinkedList$Entry.next]o31366) -> f9565_0_indexOf_JMP(EOS(STATIC_9565), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(o31366sub0), o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361, o31361[LinkedList$Entry.next]o31366) :|: TRUE 37.72/13.07 f9565_0_indexOf_JMP(EOS(STATIC_9565), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(o31366sub0), o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361, o31361[LinkedList$Entry.next]o31366) -> f9573_0_indexOf_Load(EOS(STATIC_9573), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(o31366sub0), o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361, o31361[LinkedList$Entry.next]o31366) :|: TRUE 37.72/13.07 f9573_0_indexOf_Load(EOS(STATIC_9573), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(o31366sub0), o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361, o31361[LinkedList$Entry.next]o31366) -> f9435_0_indexOf_Load(EOS(STATIC_9435), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31361sub-1382091797), o31360-1382091797))))))), java.lang.Object(o31363sub0), java.lang.Object(o31366sub0), o31362[LinkedList$Entry.previous]o31359, o31361[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31359, o31366[LinkedList$Entry.next]o31361, o31361[LinkedList$Entry.next]o31366) :|: TRUE 37.72/13.07 f9489_0_equals_Return(EOS(STATIC_9489), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o31073sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), java.lang.Object(o31075sub1455688154))), matching1, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) -> f9490_0_equals_Return(EOS(STATIC_9490), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o31073sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), java.lang.Object(o31075sub1455688154))), 0, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) :|: TRUE && matching1 = 0 37.72/13.07 f9491_0_equals_Return(EOS(STATIC_9491), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) -> f9493_0_equals_Return(EOS(STATIC_9493), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) :|: TRUE && matching1 = 0 37.72/13.07 f9493_0_equals_Return(EOS(STATIC_9493), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31384sub1456440431), java.lang.Object(javaUtilEx.Content(EOC)))), i9104, o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31379[LinkedList$Entry.next]o31382, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379) -> f9516_0_indexOf_EQ(EOS(STATIC_9516), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31384sub1456440431), java.lang.Object(javaUtilEx.Content(EOC)))), i9104, o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31379[LinkedList$Entry.next]o31382, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379) :|: TRUE 37.72/13.07 f9516_0_indexOf_EQ(EOS(STATIC_9516), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31384sub1456440431), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31379[LinkedList$Entry.next]o31382, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379) -> f9525_0_indexOf_EQ(EOS(STATIC_9525), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31379sub-1382088077), o31378-1382088077))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31384sub1456440431), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o31380[LinkedList$Entry.previous]o31377, o31379[LinkedList$Entry.next]o31377, o31379[LinkedList$Entry.next]o31382, o31384[LinkedList$Entry.next]o31377, o31384[LinkedList$Entry.next]o31379) :|: TRUE && matching1 = 0 37.72/13.07 f9492_0_equals_Return(EOS(STATIC_9492), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) -> f9493_0_equals_Return(EOS(STATIC_9493), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) :|: TRUE && matching1 = 1 37.72/13.07 f9459_0_indexOf_FieldAccess(EOS(STATIC_9459), 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(o30914sub71753686), o3091371753686)), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), o309131455688929)), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), o309131455688929)), o30378[LinkedList$Entry.previous]o30375, o30912[LinkedList$Entry.next]o30375, o30912[LinkedList$Entry.next]o30912) -> f9464_0_indexOf_FieldAccess(EOS(STATIC_9464), 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(o30914sub71753686), o3091371753686)), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), o309131455688929)), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), o309131455688929)), o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) :|: o30914[LinkedList$Entry.next]o30375 < o30912[LinkedList$Entry.next]o30375 && o30912[LinkedList$Entry.next]o30375 >= 0 && o30914[LinkedList$Entry.next]o30912 < o30912[LinkedList$Entry.next]o30912 && o30912[LinkedList$Entry.next]o30912 >= 0 37.72/13.07 f9464_0_indexOf_FieldAccess(EOS(STATIC_9464), 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(o30914sub71753686), o3091371753686)), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), o309131455688929)), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), o309131455688929)), o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) -> f9468_0_indexOf_InvokeMethod(EOS(STATIC_9468), 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(o30914sub71753686), o3091371753686)), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), o309131455688929)), java.lang.Object(o30379sub0), o309130, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) :|: TRUE 37.72/13.07 f9468_0_indexOf_InvokeMethod(EOS(STATIC_9468), 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(o30914sub71753686), o3091371753686)), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), o309131455688929)), java.lang.Object(o30379sub0), o309130, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) -> f9472_0_equals_Load(EOS(STATIC_9472), java.lang.Object(o30379sub0), o309130, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub-1383762325), o30913-1383762325)), o303761455516042)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), o309131455688929)), java.lang.Object(o30914sub0), 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(o30914sub71753686), o3091371753686)), o30376-1383935243))))))), java.lang.Object(o30379sub0), o309130, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) :|: i8851 > 1 && i4071 >= 1 37.72/13.07 f9468_0_indexOf_InvokeMethod(EOS(STATIC_9468), 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(o30914sub71753686), o3091371753686)), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), o309131455688929)), java.lang.Object(o30379sub0), o309130, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) -> f9472_1_equals_Load(EOS(STATIC_9472), 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(o30914sub71753686), o3091371753686)), o30376-1383935243))))))), java.lang.Object(o30379sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), o309131455688929)), java.lang.Object(o30379sub0), o309130, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) :|: i8851 > 1 && i4071 >= 1 37.72/13.07 f9472_0_equals_Load(EOS(STATIC_9472), java.lang.Object(o30379sub0), o309130, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub-1383762325), o30913-1383762325)), o303761455516042)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), o309131455688929)), java.lang.Object(o30914sub0), 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(o30914sub71753686), o3091371753686)), o30376-1383935243))))))), java.lang.Object(o30379sub0), o309130, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) -> f10154_0_equals_Load(EOS(STATIC_10154), java.lang.Object(o30379sub0), o309130, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub-1383762325), o30913-1383762325)), o303761455516042)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), o309131455688929)), java.lang.Object(o30914sub0), 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(o30914sub71753686), o3091371753686)), o30376-1383935243))))))), java.lang.Object(o30379sub0), o309130, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) :|: TRUE 37.72/13.07 f9495_0_equals_Return(EOS(STATIC_9495), 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(o30914sub71753686), NULL)), o30376-1383935243))))))), java.lang.Object(o31144sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), NULL)), matching1, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) -> f9497_0_equals_Return(EOS(STATIC_9497), 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(o30914sub71753686), NULL)), o30376-1383935243))))))), java.lang.Object(o31144sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), NULL)), 0, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) :|: TRUE && matching1 = 0 37.72/13.07 f9497_0_equals_Return(EOS(STATIC_9497), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31396sub1456441454), o313951456441454)), matching1, o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) -> f9517_0_indexOf_EQ(EOS(STATIC_9517), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31396sub1456441454), o313951456441454)), 0, o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) :|: TRUE && matching1 = 0 37.72/13.07 f9517_0_indexOf_EQ(EOS(STATIC_9517), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31396sub1456441454), o313951456441454)), matching1, o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) -> f9526_0_indexOf_Inc(EOS(STATIC_9526), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31396sub1456441454), o313951456441454)), o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) :|: TRUE && matching1 = 0 37.72/13.07 f9526_0_indexOf_Inc(EOS(STATIC_9526), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31396sub1456441454), o313951456441454)), o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) -> f9538_0_indexOf_Load(EOS(STATIC_9538), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31396sub1456441454), o313951456441454)), o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) :|: TRUE 37.72/13.07 f9538_0_indexOf_Load(EOS(STATIC_9538), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31396sub1456441454), o313951456441454)), o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) -> f9550_0_indexOf_FieldAccess(EOS(STATIC_9550), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31396sub1456441454), o313951456441454)), o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) :|: TRUE 37.72/13.07 f9550_0_indexOf_FieldAccess(EOS(STATIC_9550), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31396sub1456441454), o313951456441454)), o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) -> f9559_0_indexOf_Store(EOS(STATIC_9559), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(o31396sub0), o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) :|: TRUE 37.72/13.07 f9559_0_indexOf_Store(EOS(STATIC_9559), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(o31396sub0), o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) -> f9567_0_indexOf_JMP(EOS(STATIC_9567), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(o31396sub0), o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) :|: TRUE 37.72/13.07 f9567_0_indexOf_JMP(EOS(STATIC_9567), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(o31396sub0), o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) -> f9575_0_indexOf_Load(EOS(STATIC_9575), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(o31396sub0), o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) :|: TRUE 37.72/13.07 f9575_0_indexOf_Load(EOS(STATIC_9575), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(o31396sub0), o31398[LinkedList$Entry.previous]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394) -> f9435_0_indexOf_Load(EOS(STATIC_9435), 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(o31396sub74356911), o3139574356911)), o31393-1382084543))))))), java.lang.Object(o31399sub0), java.lang.Object(o31396sub0), o31398[LinkedList$Entry.previous]o31392, o31394[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31392, o31396[LinkedList$Entry.next]o31394, o31394[LinkedList$Entry.next]o31396) :|: o31394[LinkedList$Entry.next]o31396 = 1 37.72/13.07 f9496_0_equals_Return(EOS(STATIC_9496), 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(o30914sub71753686), java.lang.Object(o31159sub71753686))), o30376-1383935243))))))), java.lang.Object(o31157sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), java.lang.Object(o31159sub1455688929))), matching1, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) -> f9497_0_equals_Return(EOS(STATIC_9497), 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(o30914sub71753686), java.lang.Object(o31159sub71753686))), o30376-1383935243))))))), java.lang.Object(o31157sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), java.lang.Object(o31159sub1455688929))), 0, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) :|: TRUE && matching1 = 0 37.72/13.07 f9498_0_equals_Return(EOS(STATIC_9498), 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(o30914sub71753686), java.lang.Object(javaUtilEx.Content(EOC)))), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) -> f9500_0_equals_Return(EOS(STATIC_9500), 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(o30914sub71753686), java.lang.Object(javaUtilEx.Content(EOC)))), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) :|: TRUE && matching1 = 0 37.72/13.07 f9500_0_equals_Return(EOS(STATIC_9500), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31413sub1456463464), java.lang.Object(javaUtilEx.Content(EOC)))), i9114, o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) -> f9518_0_indexOf_EQ(EOS(STATIC_9518), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31413sub1456463464), java.lang.Object(javaUtilEx.Content(EOC)))), i9114, o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) :|: TRUE 37.72/13.07 f9518_0_indexOf_EQ(EOS(STATIC_9518), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31413sub1456463464), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) -> f9528_0_indexOf_EQ(EOS(STATIC_9528), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31413sub1456463464), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) :|: TRUE && matching1 = 0 37.72/13.07 f9528_0_indexOf_EQ(EOS(STATIC_9528), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31413sub1456463464), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) -> f9540_0_indexOf_Inc(EOS(STATIC_9540), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31413sub1456463464), java.lang.Object(javaUtilEx.Content(EOC)))), o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) :|: TRUE && matching1 = 0 37.72/13.07 f9540_0_indexOf_Inc(EOS(STATIC_9540), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31413sub1456463464), java.lang.Object(javaUtilEx.Content(EOC)))), o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) -> f9551_0_indexOf_Load(EOS(STATIC_9551), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31413sub1456463464), java.lang.Object(javaUtilEx.Content(EOC)))), o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) :|: TRUE 37.72/13.07 f9551_0_indexOf_Load(EOS(STATIC_9551), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31413sub1456463464), java.lang.Object(javaUtilEx.Content(EOC)))), o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) -> f9560_0_indexOf_FieldAccess(EOS(STATIC_9560), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31413sub1456463464), java.lang.Object(javaUtilEx.Content(EOC)))), o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) :|: TRUE 37.72/13.07 f9560_0_indexOf_FieldAccess(EOS(STATIC_9560), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o31413sub1456463464), java.lang.Object(javaUtilEx.Content(EOC)))), o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) -> f9568_0_indexOf_Store(EOS(STATIC_9568), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31413sub0), o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) :|: TRUE 37.72/13.07 f9568_0_indexOf_Store(EOS(STATIC_9568), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31413sub0), o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) -> f9576_0_indexOf_JMP(EOS(STATIC_9576), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31413sub0), o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) :|: TRUE 37.72/13.07 f9576_0_indexOf_JMP(EOS(STATIC_9576), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31413sub0), o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) -> f9582_0_indexOf_Load(EOS(STATIC_9582), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31413sub0), o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) :|: TRUE 37.72/13.07 f9582_0_indexOf_Load(EOS(STATIC_9582), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31413sub0), o31415[LinkedList$Entry.previous]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411) -> f9435_0_indexOf_Load(EOS(STATIC_9435), 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(o31413sub74421639), java.lang.Object(javaUtilEx.Content(EOC)))), o31410-1382041825))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31413sub0), o31415[LinkedList$Entry.previous]o31409, o31411[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31409, o31413[LinkedList$Entry.next]o31411, o31411[LinkedList$Entry.next]o31413) :|: o31411[LinkedList$Entry.next]o31413 = 1 37.72/13.07 f9499_0_equals_Return(EOS(STATIC_9499), 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(o30914sub71753686), java.lang.Object(javaUtilEx.Content(EOC)))), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), java.lang.Object(javaUtilEx.Content(EOC)))), matching1, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) -> f9500_0_equals_Return(EOS(STATIC_9500), 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(o30914sub71753686), java.lang.Object(javaUtilEx.Content(EOC)))), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) :|: TRUE && matching1 = 1 37.72/13.07 f9471_1_equals_Load(EOS(STATIC_9471), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o31059sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), NULL)), java.lang.Object(o31059sub0), NULL, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) -> f9488_0_equals_Return(EOS(STATIC_9488), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o31059sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), NULL)), 0, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) :|: TRUE 37.72/13.07 f9471_1_equals_Load(EOS(STATIC_9471), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o31073sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), java.lang.Object(o31075sub1455688154))), java.lang.Object(o31073sub0), java.lang.Object(o31075sub0), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) -> f9489_0_equals_Return(EOS(STATIC_9489), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(o31073sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), java.lang.Object(o31075sub1455688154))), 0, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) :|: TRUE 37.72/13.07 f9471_1_equals_Load(EOS(STATIC_9471), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) -> f9491_0_equals_Return(EOS(STATIC_9491), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) :|: TRUE 37.72/13.07 f9471_1_equals_Load(EOS(STATIC_9471), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) -> f9492_0_equals_Return(EOS(STATIC_9492), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o30378[LinkedList$Entry.previous]o30375, o30377[LinkedList$Entry.next]o30375, o30377[LinkedList$Entry.next]o30908, o30910[LinkedList$Entry.next]o30375, o30910[LinkedList$Entry.next]o30377) :|: TRUE 37.72/13.07 f9472_1_equals_Load(EOS(STATIC_9472), 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(o30914sub71753686), NULL)), o30376-1383935243))))))), java.lang.Object(o31144sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), NULL)), java.lang.Object(o31144sub0), NULL, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) -> f9495_0_equals_Return(EOS(STATIC_9495), 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(o30914sub71753686), NULL)), o30376-1383935243))))))), java.lang.Object(o31144sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), NULL)), 0, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) :|: TRUE 37.72/13.07 f9472_1_equals_Load(EOS(STATIC_9472), 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(o30914sub71753686), java.lang.Object(o31159sub71753686))), o30376-1383935243))))))), java.lang.Object(o31157sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), java.lang.Object(o31159sub1455688929))), java.lang.Object(o31157sub0), java.lang.Object(o31159sub0), o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) -> f9496_0_equals_Return(EOS(STATIC_9496), 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(o30914sub71753686), java.lang.Object(o31159sub71753686))), o30376-1383935243))))))), java.lang.Object(o31157sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), java.lang.Object(o31159sub1455688929))), 0, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) :|: TRUE 37.72/13.07 f9472_1_equals_Load(EOS(STATIC_9472), 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(o30914sub71753686), java.lang.Object(javaUtilEx.Content(EOC)))), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) -> f9498_0_equals_Return(EOS(STATIC_9498), 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(o30914sub71753686), java.lang.Object(javaUtilEx.Content(EOC)))), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), java.lang.Object(javaUtilEx.Content(EOC)))), 0, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) :|: TRUE 37.72/13.07 f9472_1_equals_Load(EOS(STATIC_9472), 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(o30914sub71753686), java.lang.Object(javaUtilEx.Content(EOC)))), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) -> f9499_0_equals_Return(EOS(STATIC_9499), 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(o30914sub71753686), java.lang.Object(javaUtilEx.Content(EOC)))), o30376-1383935243))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929), java.lang.Object(javaUtilEx.Content(EOC)))), 1, o30378[LinkedList$Entry.previous]o30375, o30914[LinkedList$Entry.next]o30375, o30914[LinkedList$Entry.next]o30912) :|: TRUE 37.72/13.07 Combined rules. Obtained 8 IRulesP rules: 37.72/13.07 f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), 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(o30914sub71753686:0), NULL)), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929:0), NULL)), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929:0), NULL)), o30378[LinkedList$Entry.previous]o30375:0, o30904[LinkedList$Entry.next]o30375:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30375:0) -> f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), 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(o30914sub71753686:0), NULL)), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(o31396sub0:0), java.lang.Object(o30379sub0:0), java.lang.Object(o31396sub0:0), o30378[LinkedList$Entry.previous]o30375:0, o31394[LinkedList$Entry.next]o31392:0, o30914[LinkedList$Entry.next]o30912:0, 1, o30914[LinkedList$Entry.next]o30375:0) :|: o30904[LinkedList$Entry.next]o30375:0 > -1 && o30914[LinkedList$Entry.next]o30375:0 < o30904[LinkedList$Entry.next]o30375:0 && o30914[LinkedList$Entry.next]o30912:0 < o30904[LinkedList$Entry.next]o30904:0 && o30914[LinkedList$Entry.next]o30375:0 > 0 && o30904[LinkedList$Entry.next]o30904:0 > -1 && i8851:0 > 1 && i4071:0 > 0 37.72/13.07 f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243:0), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154:0), NULL)), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154:0), NULL)), o30378[LinkedList$Entry.previous]o30375:0, o30377[LinkedList$Entry.next]o30375:0, o30380[LinkedList$Entry.next]o30377:0, o30377[LinkedList$Entry.next]o30380:0, o30380[LinkedList$Entry.next]o30375:0) -> f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243:0), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(o31366sub0:0), java.lang.Object(o30379sub0:0), java.lang.Object(o31366sub0:0), o30378[LinkedList$Entry.previous]o30375:0, o30377[LinkedList$Entry.next]o30375:0, o30910[LinkedList$Entry.next]o30377:0, o31361[LinkedList$Entry.next]o31366:0, o30910[LinkedList$Entry.next]o30375:0) :|: o30377[LinkedList$Entry.next]o30380:0 > 0 && o30380[LinkedList$Entry.next]o30377:0 > 0 && o30380[LinkedList$Entry.next]o30375:0 > -1 && o30910[LinkedList$Entry.next]o30375:0 < o30380[LinkedList$Entry.next]o30375:0 && o30910[LinkedList$Entry.next]o30377:0 < o30380[LinkedList$Entry.next]o30377:0 && o30910[LinkedList$Entry.next]o30375:0 > 0 && o31361[LinkedList$Entry.next]o31366:0 > o30377[LinkedList$Entry.next]o30380:0 && i8851:0 > 1 && i4071:0 > 0 37.72/13.07 f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), 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(o30914sub71753686:0), java.lang.Object(javaUtilEx.Content(EOC)))), o30376-1383935243:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929:0), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929:0), java.lang.Object(javaUtilEx.Content(EOC)))), o30378[LinkedList$Entry.previous]o30375:0, o30904[LinkedList$Entry.next]o30375:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30375:0) -> f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), 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(o30914sub71753686:0), java.lang.Object(javaUtilEx.Content(EOC)))), o30376-1383935243:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31413sub0:0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31413sub0:0), o30378[LinkedList$Entry.previous]o30375:0, o31411[LinkedList$Entry.next]o31409:0, o30914[LinkedList$Entry.next]o30912:0, 1, o30914[LinkedList$Entry.next]o30375:0) :|: o30904[LinkedList$Entry.next]o30375:0 > -1 && o30914[LinkedList$Entry.next]o30375:0 < o30904[LinkedList$Entry.next]o30375:0 && o30914[LinkedList$Entry.next]o30912:0 < o30904[LinkedList$Entry.next]o30904:0 && o30914[LinkedList$Entry.next]o30375:0 > 0 && o30904[LinkedList$Entry.next]o30904:0 > -1 && i8851:0 > 1 && i4071:0 > 0 37.72/13.07 f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), 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(o30914sub71753686:0), java.lang.Object(o31159sub71753686:0))), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929:0), java.lang.Object(o31159sub1455688929:0))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929:0), java.lang.Object(o31159sub1455688929:0))), o30378[LinkedList$Entry.previous]o30375:0, o30904[LinkedList$Entry.next]o30375:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30375:0) -> f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), 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(o30914sub71753686:0), java.lang.Object(o31159sub71753686:0))), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(o31396sub0:0), java.lang.Object(o30379sub0:0), java.lang.Object(o31396sub0:0), o30378[LinkedList$Entry.previous]o30375:0, o31394[LinkedList$Entry.next]o31392:0, o30914[LinkedList$Entry.next]o30912:0, 1, o30914[LinkedList$Entry.next]o30375:0) :|: o30904[LinkedList$Entry.next]o30375:0 > -1 && o30914[LinkedList$Entry.next]o30375:0 < o30904[LinkedList$Entry.next]o30375:0 && o30914[LinkedList$Entry.next]o30912:0 < o30904[LinkedList$Entry.next]o30904:0 && o30914[LinkedList$Entry.next]o30375:0 > 0 && o30904[LinkedList$Entry.next]o30904:0 > -1 && i8851:0 > 1 && i4071:0 > 0 37.72/13.07 f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243:0), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154:0), java.lang.Object(o31075sub1455688154:0))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154:0), java.lang.Object(o31075sub1455688154:0))), o30378[LinkedList$Entry.previous]o30375:0, o30377[LinkedList$Entry.next]o30375:0, o30380[LinkedList$Entry.next]o30377:0, o30377[LinkedList$Entry.next]o30380:0, o30380[LinkedList$Entry.next]o30375:0) -> f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243:0), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(o31366sub0:0), java.lang.Object(o30379sub0:0), java.lang.Object(o31366sub0:0), o30378[LinkedList$Entry.previous]o30375:0, o30377[LinkedList$Entry.next]o30375:0, o30910[LinkedList$Entry.next]o30377:0, o31361[LinkedList$Entry.next]o31366:0, o30910[LinkedList$Entry.next]o30375:0) :|: o30377[LinkedList$Entry.next]o30380:0 > 0 && o30380[LinkedList$Entry.next]o30377:0 > 0 && o30380[LinkedList$Entry.next]o30375:0 > -1 && o30910[LinkedList$Entry.next]o30375:0 < o30380[LinkedList$Entry.next]o30375:0 && o30910[LinkedList$Entry.next]o30377:0 < o30380[LinkedList$Entry.next]o30377:0 && o30910[LinkedList$Entry.next]o30375:0 > 0 && o31361[LinkedList$Entry.next]o31366:0 > o30377[LinkedList$Entry.next]o30380:0 && i8851:0 > 1 && i4071:0 > 0 37.72/13.07 f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243:0), o30376-1383935243:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154:0), java.lang.Object(javaUtilEx.Content(EOC)))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154:0), java.lang.Object(javaUtilEx.Content(EOC)))), o30378[LinkedList$Entry.previous]o30375:0, o30377[LinkedList$Entry.next]o30375:0, o30380[LinkedList$Entry.next]o30377:0, o30377[LinkedList$Entry.next]o30380:0, o30380[LinkedList$Entry.next]o30375:0) -> f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243:0), o30376-1383935243:0))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31384sub0:0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o31384sub0:0), o30378[LinkedList$Entry.previous]o30375:0, o30377[LinkedList$Entry.next]o30375:0, o30910[LinkedList$Entry.next]o30377:0, o31379[LinkedList$Entry.next]o31384:0, o30910[LinkedList$Entry.next]o30375:0) :|: o30377[LinkedList$Entry.next]o30380:0 > 0 && o30380[LinkedList$Entry.next]o30377:0 > 0 && o31379[LinkedList$Entry.next]o31384:0 > o30377[LinkedList$Entry.next]o30380:0 && o30380[LinkedList$Entry.next]o30375:0 > -1 && o30910[LinkedList$Entry.next]o30375:0 < o30380[LinkedList$Entry.next]o30375:0 && o30910[LinkedList$Entry.next]o30377:0 < o30380[LinkedList$Entry.next]o30377:0 && o30910[LinkedList$Entry.next]o30375:0 > 0 && i8851:0 > 1 && i4071:0 > 0 37.72/13.07 Removed following non-SCC rules: 37.72/13.07 f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243:0), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154:0), o309091455688154:0)), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154:0), o309091455688154:0)), o30378[LinkedList$Entry.previous]o30375:0, o30377[LinkedList$Entry.next]o30375:0, o30380[LinkedList$Entry.next]o30377:0, o30377[LinkedList$Entry.next]o30380:0, o30380[LinkedList$Entry.next]o30375:0) -> f10092_0_equals_Load(EOS(STATIC_10092), java.lang.Object(o30379sub0:0), o309090:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub1455516042:0), o303761455516042:0)), java.lang.Object(o30377sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30910sub1455688154:0), o309091455688154:0)), java.lang.Object(o30910sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30377sub-1383935243:0), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), o309090:0, o30378[LinkedList$Entry.previous]o30375:0, o30377[LinkedList$Entry.next]o30375:0, o30377[LinkedList$Entry.next]o30380:0, o30910[LinkedList$Entry.next]o30375:0, o30910[LinkedList$Entry.next]o30377:0) :|: o30380[LinkedList$Entry.next]o30377:0 > 0 && o30380[LinkedList$Entry.next]o30375:0 > -1 && o30910[LinkedList$Entry.next]o30375:0 < o30380[LinkedList$Entry.next]o30375:0 && o30910[LinkedList$Entry.next]o30377:0 < o30380[LinkedList$Entry.next]o30377:0 && o30377[LinkedList$Entry.next]o30380:0 > 0 && i8851:0 > 1 && i4071:0 > 0 37.72/13.07 f9455_0_indexOf_FieldAccess(EOS(STATIC_9455), 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(o30914sub71753686:0), o3091371753686:0)), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929:0), o309131455688929:0)), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929:0), o309131455688929:0)), o30378[LinkedList$Entry.previous]o30375:0, o30904[LinkedList$Entry.next]o30375:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30375:0) -> f10154_0_equals_Load(EOS(STATIC_10154), java.lang.Object(o30379sub0:0), o309130:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub-1383762325:0), o30913-1383762325:0)), o303761455516042:0)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o30914sub1455688929:0), o309131455688929:0)), java.lang.Object(o30914sub0: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(o30914sub71753686:0), o3091371753686:0)), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), o309130:0, o30378[LinkedList$Entry.previous]o30375:0, o30914[LinkedList$Entry.next]o30375:0, o30914[LinkedList$Entry.next]o30912:0) :|: o30904[LinkedList$Entry.next]o30375:0 > -1 && o30914[LinkedList$Entry.next]o30375:0 < o30904[LinkedList$Entry.next]o30375:0 && o30914[LinkedList$Entry.next]o30912:0 < o30904[LinkedList$Entry.next]o30904:0 && o30904[LinkedList$Entry.next]o30904:0 > -1 && i8851:0 > 1 && i4071:0 > 0 37.72/13.07 Filtered constant ground arguments: 37.72/13.07 f9455_0_indexOf_FieldAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) -> f9455_0_indexOf_FieldAccess(x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 37.72/13.07 EOS(x1) -> EOS 37.72/13.07 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 37.72/13.07 javaUtilEx.Content(x1) -> javaUtilEx.Content 37.72/13.07 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 37.72/13.07 Filtered duplicate arguments: 37.72/13.07 f9455_0_indexOf_FieldAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f9455_0_indexOf_FieldAccess(x1, x4, x5, x6, x7, x8, x9, x10) 37.72/13.07 Filtered unneeded arguments: 37.72/13.07 f9455_0_indexOf_FieldAccess(x1, x2, x3, x4, x5, x6, x7, x8) -> f9455_0_indexOf_FieldAccess(x1, x2, x3, x5, x6, x7, x8) 37.72/13.07 Finished conversion. Obtained 6 rules.P rules: 37.72/13.07 f9455_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(o30914sub71753686:0), NULL)), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30914sub1455688929:0), NULL)), o30904[LinkedList$Entry.next]o30375:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) -> f9455_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(o30914sub71753686:0), NULL)), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(o31396sub0:0), o31394[LinkedList$Entry.next]o31392:0, o30914[LinkedList$Entry.next]o30912:0, 1, o30914[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) :|: o30914[LinkedList$Entry.next]o30375:0 < o30904[LinkedList$Entry.next]o30375:0 && o30904[LinkedList$Entry.next]o30375:0 > -1 && o30914[LinkedList$Entry.next]o30912:0 < o30904[LinkedList$Entry.next]o30904:0 && o30914[LinkedList$Entry.next]o30375:0 > 0 && o30904[LinkedList$Entry.next]o30904:0 > -1 && i4071:0 > 0 && i8851:0 > 1 37.72/13.07 f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30377sub-1383935243:0), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30910sub1455688154:0), NULL)), o30377[LinkedList$Entry.next]o30375:0, o30380[LinkedList$Entry.next]o30377:0, o30377[LinkedList$Entry.next]o30380:0, o30380[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) -> f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30377sub-1383935243:0), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(o31366sub0:0), o30377[LinkedList$Entry.next]o30375:0, o30910[LinkedList$Entry.next]o30377:0, o31361[LinkedList$Entry.next]o31366:0, o30910[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) :|: o30380[LinkedList$Entry.next]o30377:0 > 0 && o30377[LinkedList$Entry.next]o30380:0 > 0 && o30380[LinkedList$Entry.next]o30375:0 > -1 && o30910[LinkedList$Entry.next]o30375:0 < o30380[LinkedList$Entry.next]o30375:0 && o30910[LinkedList$Entry.next]o30377:0 < o30380[LinkedList$Entry.next]o30377:0 && o30910[LinkedList$Entry.next]o30375:0 > 0 && o31361[LinkedList$Entry.next]o31366:0 > o30377[LinkedList$Entry.next]o30380:0 && i4071:0 > 0 && i8851:0 > 1 37.72/13.07 f9455_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(o30914sub71753686:0), java.lang.Object(javaUtilEx.Content))), o30376-1383935243:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30914sub1455688929:0), java.lang.Object(javaUtilEx.Content))), o30904[LinkedList$Entry.next]o30375:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) -> f9455_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(o30914sub71753686:0), java.lang.Object(javaUtilEx.Content))), o30376-1383935243:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o31413sub0:0), o31411[LinkedList$Entry.next]o31409:0, o30914[LinkedList$Entry.next]o30912:0, 1, o30914[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) :|: o30914[LinkedList$Entry.next]o30375:0 < o30904[LinkedList$Entry.next]o30375:0 && o30904[LinkedList$Entry.next]o30375:0 > -1 && o30914[LinkedList$Entry.next]o30912:0 < o30904[LinkedList$Entry.next]o30904:0 && o30914[LinkedList$Entry.next]o30375:0 > 0 && o30904[LinkedList$Entry.next]o30904:0 > -1 && i4071:0 > 0 && i8851:0 > 1 37.72/13.07 f9455_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(o30914sub71753686:0), java.lang.Object(o31159sub71753686:0))), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30914sub1455688929:0), java.lang.Object(o31159sub1455688929:0))), o30904[LinkedList$Entry.next]o30375:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) -> f9455_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(o30914sub71753686:0), java.lang.Object(o31159sub71753686:0))), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(o31396sub0:0), o31394[LinkedList$Entry.next]o31392:0, o30914[LinkedList$Entry.next]o30912:0, 1, o30914[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) :|: o30914[LinkedList$Entry.next]o30375:0 < o30904[LinkedList$Entry.next]o30375:0 && o30904[LinkedList$Entry.next]o30375:0 > -1 && o30914[LinkedList$Entry.next]o30912:0 < o30904[LinkedList$Entry.next]o30904:0 && o30914[LinkedList$Entry.next]o30375:0 > 0 && o30904[LinkedList$Entry.next]o30904:0 > -1 && i4071:0 > 0 && i8851:0 > 1 37.72/13.07 f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30377sub-1383935243:0), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30910sub1455688154:0), java.lang.Object(o31075sub1455688154:0))), o30377[LinkedList$Entry.next]o30375:0, o30380[LinkedList$Entry.next]o30377:0, o30377[LinkedList$Entry.next]o30380:0, o30380[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) -> f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30377sub-1383935243:0), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(o31366sub0:0), o30377[LinkedList$Entry.next]o30375:0, o30910[LinkedList$Entry.next]o30377:0, o31361[LinkedList$Entry.next]o31366:0, o30910[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) :|: o30380[LinkedList$Entry.next]o30377:0 > 0 && o30377[LinkedList$Entry.next]o30380:0 > 0 && o30380[LinkedList$Entry.next]o30375:0 > -1 && o30910[LinkedList$Entry.next]o30375:0 < o30380[LinkedList$Entry.next]o30375:0 && o30910[LinkedList$Entry.next]o30377:0 < o30380[LinkedList$Entry.next]o30377:0 && o30910[LinkedList$Entry.next]o30375:0 > 0 && o31361[LinkedList$Entry.next]o31366:0 > o30377[LinkedList$Entry.next]o30380:0 && i4071:0 > 0 && i8851:0 > 1 37.72/13.07 f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30377sub-1383935243:0), o30376-1383935243:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30910sub1455688154:0), java.lang.Object(javaUtilEx.Content))), o30377[LinkedList$Entry.next]o30375:0, o30380[LinkedList$Entry.next]o30377:0, o30377[LinkedList$Entry.next]o30380:0, o30380[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) -> f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30377sub-1383935243:0), o30376-1383935243:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o31384sub0:0), o30377[LinkedList$Entry.next]o30375:0, o30910[LinkedList$Entry.next]o30377:0, o31379[LinkedList$Entry.next]o31384:0, o30910[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) :|: o30380[LinkedList$Entry.next]o30377:0 > 0 && o30377[LinkedList$Entry.next]o30380:0 > 0 && o31379[LinkedList$Entry.next]o31384:0 > o30377[LinkedList$Entry.next]o30380:0 && o30380[LinkedList$Entry.next]o30375:0 > -1 && o30910[LinkedList$Entry.next]o30375:0 < o30380[LinkedList$Entry.next]o30375:0 && o30910[LinkedList$Entry.next]o30377:0 < o30380[LinkedList$Entry.next]o30377:0 && o30910[LinkedList$Entry.next]o30375:0 > 0 && i4071:0 > 0 && i8851:0 > 1 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (37) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f9455_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(o30914sub71753686:0), NULL)), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30914sub1455688929:0), NULL)), o30904[LinkedList$Entry.next]o30375:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) -> f9455_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(o30914sub71753686:0), NULL)), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(o31396sub0:0), o31394[LinkedList$Entry.next]o31392:0, o30914[LinkedList$Entry.next]o30912:0, 1, o30914[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) :|: o30914[LinkedList$Entry.next]o30375:0 < o30904[LinkedList$Entry.next]o30375:0 && o30904[LinkedList$Entry.next]o30375:0 > -1 && o30914[LinkedList$Entry.next]o30912:0 < o30904[LinkedList$Entry.next]o30904:0 && o30914[LinkedList$Entry.next]o30375:0 > 0 && o30904[LinkedList$Entry.next]o30904:0 > -1 && i4071:0 > 0 && i8851:0 > 1 37.72/13.07 f9455_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), NULL)), x4, x5, x6, x7, x1) -> f9455_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(x8), x4, x9, x10, x11, x1) :|: x5 > 0 && x6 > 0 && x7 > -1 && x11 < x7 && x9 < x5 && x11 > 0 && x10 > x6 && x12 > 0 && x13 > 1 37.72/13.07 f9455_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(x14), java.lang.Object(javaUtilEx.Content))), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16), java.lang.Object(javaUtilEx.Content))), x17, x18, x18, x17, x15) -> f9455_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(x14), java.lang.Object(javaUtilEx.Content))), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x19), x20, x21, 1, x22, x15) :|: x22 < x17 && x17 > -1 && x21 < x18 && x22 > 0 && x18 > -1 && x23 > 0 && x24 > 1 37.72/13.07 f9455_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(x25), java.lang.Object(x26))), x27))))))), java.lang.Object(x28), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(x30))), x31, x32, x32, x31, x27) -> f9455_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(x25), java.lang.Object(x26))), x27))))))), java.lang.Object(x28), java.lang.Object(x33), x34, x35, 1, x36, x27) :|: x36 < x31 && x31 > -1 && x35 < x32 && x36 > 0 && x32 > -1 && x37 > 0 && x38 > 1 37.72/13.07 f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x39), x40))))))), java.lang.Object(x41), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x42), java.lang.Object(x43))), x44, x45, x46, x47, x40) -> f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x39), x40))))))), java.lang.Object(x41), java.lang.Object(x48), x44, x49, x50, x51, x40) :|: x45 > 0 && x46 > 0 && x47 > -1 && x51 < x47 && x49 < x45 && x51 > 0 && x50 > x46 && x52 > 0 && x53 > 1 37.72/13.07 f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), x55))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x56), java.lang.Object(javaUtilEx.Content))), x57, x58, x59, x60, x55) -> f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), x55))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x61), x57, x62, x63, x64, x55) :|: x58 > 0 && x59 > 0 && x63 > x59 && x60 > -1 && x64 < x60 && x62 < x58 && x64 > 0 && x65 > 0 && x66 > 1 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (38) IRSFormatTransformerProof (EQUIVALENT) 37.72/13.07 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (39) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f9455_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(o30914sub71753686:0), NULL)), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30914sub1455688929:0), NULL)), o30904[LinkedList$Entry.next]o30375:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) -> f9455_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(o30914sub71753686:0), NULL)), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(o31396sub0:0), o31394[LinkedList$Entry.next]o31392:0, o30914[LinkedList$Entry.next]o30912:0, 1, o30914[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) :|: o30914[LinkedList$Entry.next]o30375:0 < o30904[LinkedList$Entry.next]o30375:0 && o30904[LinkedList$Entry.next]o30375:0 > -1 && o30914[LinkedList$Entry.next]o30912:0 < o30904[LinkedList$Entry.next]o30904:0 && o30914[LinkedList$Entry.next]o30375:0 > 0 && o30904[LinkedList$Entry.next]o30904:0 > -1 && i4071:0 > 0 && i8851:0 > 1 37.72/13.07 f9455_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), NULL)), x4, x5, x6, x7, x1) -> f9455_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(x8), x4, x9, x10, x11, x1) :|: x5 > 0 && x6 > 0 && x7 > -1 && x11 < x7 && x9 < x5 && x11 > 0 && x10 > x6 && x12 > 0 && x13 > 1 37.72/13.07 f9455_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(x14), java.lang.Object(javaUtilEx.Content))), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16), java.lang.Object(javaUtilEx.Content))), x17, x18, x18, x17, x15) -> f9455_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(x14), java.lang.Object(javaUtilEx.Content))), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x19), x20, x21, 1, x22, x15) :|: x22 < x17 && x17 > -1 && x21 < x18 && x22 > 0 && x18 > -1 && x23 > 0 && x24 > 1 37.72/13.07 f9455_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(x25), java.lang.Object(x26))), x27))))))), java.lang.Object(x28), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(x30))), x31, x32, x32, x31, x27) -> f9455_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(x25), java.lang.Object(x26))), x27))))))), java.lang.Object(x28), java.lang.Object(x33), x34, x35, 1, x36, x27) :|: x36 < x31 && x31 > -1 && x35 < x32 && x36 > 0 && x32 > -1 && x37 > 0 && x38 > 1 37.72/13.07 f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x39), x40))))))), java.lang.Object(x41), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x42), java.lang.Object(x43))), x44, x45, x46, x47, x40) -> f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x39), x40))))))), java.lang.Object(x41), java.lang.Object(x48), x44, x49, x50, x51, x40) :|: x45 > 0 && x46 > 0 && x47 > -1 && x51 < x47 && x49 < x45 && x51 > 0 && x50 > x46 && x52 > 0 && x53 > 1 37.72/13.07 f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), x55))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x56), java.lang.Object(javaUtilEx.Content))), x57, x58, x59, x60, x55) -> f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), x55))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x61), x57, x62, x63, x64, x55) :|: x58 > 0 && x59 > 0 && x63 > x59 && x60 > -1 && x64 < x60 && x62 < x58 && x64 > 0 && x65 > 0 && x66 > 1 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (40) IRSwTTerminationDigraphProof (EQUIVALENT) 37.72/13.07 Constructed termination digraph! 37.72/13.07 Nodes: 37.72/13.07 (1) f9455_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(o30914sub71753686:0), NULL)), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30914sub1455688929:0), NULL)), o30904[LinkedList$Entry.next]o30375:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) -> f9455_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(o30914sub71753686:0), NULL)), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(o31396sub0:0), o31394[LinkedList$Entry.next]o31392:0, o30914[LinkedList$Entry.next]o30912:0, 1, o30914[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) :|: o30914[LinkedList$Entry.next]o30375:0 < o30904[LinkedList$Entry.next]o30375:0 && o30904[LinkedList$Entry.next]o30375:0 > -1 && o30914[LinkedList$Entry.next]o30912:0 < o30904[LinkedList$Entry.next]o30904:0 && o30914[LinkedList$Entry.next]o30375:0 > 0 && o30904[LinkedList$Entry.next]o30904:0 > -1 && i4071:0 > 0 && i8851:0 > 1 37.72/13.07 (2) f9455_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), NULL)), x4, x5, x6, x7, x1) -> f9455_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(x8), x4, x9, x10, x11, x1) :|: x5 > 0 && x6 > 0 && x7 > -1 && x11 < x7 && x9 < x5 && x11 > 0 && x10 > x6 && x12 > 0 && x13 > 1 37.72/13.07 (3) f9455_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(x14), java.lang.Object(javaUtilEx.Content))), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16), java.lang.Object(javaUtilEx.Content))), x17, x18, x18, x17, x15) -> f9455_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(x14), java.lang.Object(javaUtilEx.Content))), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x19), x20, x21, 1, x22, x15) :|: x22 < x17 && x17 > -1 && x21 < x18 && x22 > 0 && x18 > -1 && x23 > 0 && x24 > 1 37.72/13.07 (4) f9455_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(x25), java.lang.Object(x26))), x27))))))), java.lang.Object(x28), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(x30))), x31, x32, x32, x31, x27) -> f9455_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(x25), java.lang.Object(x26))), x27))))))), java.lang.Object(x28), java.lang.Object(x33), x34, x35, 1, x36, x27) :|: x36 < x31 && x31 > -1 && x35 < x32 && x36 > 0 && x32 > -1 && x37 > 0 && x38 > 1 37.72/13.07 (5) f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x39), x40))))))), java.lang.Object(x41), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x42), java.lang.Object(x43))), x44, x45, x46, x47, x40) -> f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x39), x40))))))), java.lang.Object(x41), java.lang.Object(x48), x44, x49, x50, x51, x40) :|: x45 > 0 && x46 > 0 && x47 > -1 && x51 < x47 && x49 < x45 && x51 > 0 && x50 > x46 && x52 > 0 && x53 > 1 37.72/13.07 (6) f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), x55))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x56), java.lang.Object(javaUtilEx.Content))), x57, x58, x59, x60, x55) -> f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), x55))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x61), x57, x62, x63, x64, x55) :|: x58 > 0 && x59 > 0 && x63 > x59 && x60 > -1 && x64 < x60 && x62 < x58 && x64 > 0 && x65 > 0 && x66 > 1 37.72/13.07 37.72/13.07 Arcs: 37.72/13.07 (1) -> (1), (2), (5), (6) 37.72/13.07 (2) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (3) -> (2), (3), (4), (5), (6) 37.72/13.07 (4) -> (2), (3), (4), (5), (6) 37.72/13.07 (5) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (6) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 37.72/13.07 This digraph is fully evaluated! 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (41) 37.72/13.07 Obligation: 37.72/13.07 37.72/13.07 Termination digraph: 37.72/13.07 Nodes: 37.72/13.07 (1) f9455_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(o30914sub71753686:0), NULL)), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30914sub1455688929:0), NULL)), o30904[LinkedList$Entry.next]o30375:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30904:0, o30904[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) -> f9455_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(o30914sub71753686:0), NULL)), o30376-1383935243:0))))))), java.lang.Object(o30379sub0:0), java.lang.Object(o31396sub0:0), o31394[LinkedList$Entry.next]o31392:0, o30914[LinkedList$Entry.next]o30912:0, 1, o30914[LinkedList$Entry.next]o30375:0, o30376-1383935243:0) :|: o30914[LinkedList$Entry.next]o30375:0 < o30904[LinkedList$Entry.next]o30375:0 && o30904[LinkedList$Entry.next]o30375:0 > -1 && o30914[LinkedList$Entry.next]o30912:0 < o30904[LinkedList$Entry.next]o30904:0 && o30914[LinkedList$Entry.next]o30375:0 > 0 && o30904[LinkedList$Entry.next]o30904:0 > -1 && i4071:0 > 0 && i8851:0 > 1 37.72/13.07 (2) f9455_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), NULL)), x4, x5, x6, x7, x1) -> f9455_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(x8), x4, x9, x10, x11, x1) :|: x5 > 0 && x6 > 0 && x7 > -1 && x11 < x7 && x9 < x5 && x11 > 0 && x10 > x6 && x12 > 0 && x13 > 1 37.72/13.07 (3) f9455_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(x14), java.lang.Object(javaUtilEx.Content))), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16), java.lang.Object(javaUtilEx.Content))), x17, x18, x18, x17, x15) -> f9455_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(x14), java.lang.Object(javaUtilEx.Content))), x15))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x19), x20, x21, 1, x22, x15) :|: x22 < x17 && x17 > -1 && x21 < x18 && x22 > 0 && x18 > -1 && x23 > 0 && x24 > 1 37.72/13.07 (4) f9455_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(x25), java.lang.Object(x26))), x27))))))), java.lang.Object(x28), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(x30))), x31, x32, x32, x31, x27) -> f9455_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(x25), java.lang.Object(x26))), x27))))))), java.lang.Object(x28), java.lang.Object(x33), x34, x35, 1, x36, x27) :|: x36 < x31 && x31 > -1 && x35 < x32 && x36 > 0 && x32 > -1 && x37 > 0 && x38 > 1 37.72/13.07 (5) f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x39), x40))))))), java.lang.Object(x41), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x42), java.lang.Object(x43))), x44, x45, x46, x47, x40) -> f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x39), x40))))))), java.lang.Object(x41), java.lang.Object(x48), x44, x49, x50, x51, x40) :|: x45 > 0 && x46 > 0 && x47 > -1 && x51 < x47 && x49 < x45 && x51 > 0 && x50 > x46 && x52 > 0 && x53 > 1 37.72/13.07 (6) f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), x55))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x56), java.lang.Object(javaUtilEx.Content))), x57, x58, x59, x60, x55) -> f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54), x55))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x61), x57, x62, x63, x64, x55) :|: x58 > 0 && x59 > 0 && x63 > x59 && x60 > -1 && x64 < x60 && x62 < x58 && x64 > 0 && x65 > 0 && x66 > 1 37.72/13.07 37.72/13.07 Arcs: 37.72/13.07 (1) -> (1), (2), (5), (6) 37.72/13.07 (2) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (3) -> (2), (3), (4), (5), (6) 37.72/13.07 (4) -> (2), (3), (4), (5), (6) 37.72/13.07 (5) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (6) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 37.72/13.07 This digraph is fully evaluated! 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (42) IntTRSCompressionProof (EQUIVALENT) 37.72/13.07 Compressed rules. 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (43) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f9455_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(o30914sub71753686:0:0), NULL)), o30376-1383935243:0:0))))))), java.lang.Object(o30379sub0:0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o30914sub1455688929:0:0), NULL)), o30904[LinkedList$Entry.next]o30375:0:0, o30904[LinkedList$Entry.next]o30904:0:0, o30904[LinkedList$Entry.next]o30904:0:0, o30904[LinkedList$Entry.next]o30375:0:0, o30376-1383935243:0:0) -> f9455_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(o30914sub71753686:0:0), NULL)), o30376-1383935243:0:0))))))), java.lang.Object(o30379sub0:0:0), java.lang.Object(o31396sub0:0:0), o31394[LinkedList$Entry.next]o31392:0:0, o30914[LinkedList$Entry.next]o30912:0:0, 1, o30914[LinkedList$Entry.next]o30375:0:0, o30376-1383935243:0:0) :|: i4071:0:0 > 0 && i8851:0:0 > 1 && o30904[LinkedList$Entry.next]o30904:0:0 > -1 && o30914[LinkedList$Entry.next]o30375:0:0 > 0 && o30914[LinkedList$Entry.next]o30912:0:0 < o30904[LinkedList$Entry.next]o30904:0:0 && o30904[LinkedList$Entry.next]o30375:0:0 > -1 && o30914[LinkedList$Entry.next]o30375:0:0 < o30904[LinkedList$Entry.next]o30375:0:0 37.72/13.07 f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x39:0), x40:0))))))), java.lang.Object(x41:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x42:0), java.lang.Object(x43:0))), x44:0, x45:0, x46:0, x47:0, x40:0) -> f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x39:0), x40:0))))))), java.lang.Object(x41:0), java.lang.Object(x48:0), x44:0, x49:0, x50:0, x51:0, x40: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 37.72/13.07 f9455_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), NULL)), x4:0, x5:0, x6:0, x7:0, x1:0) -> f9455_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(x8:0), x4:0, x9:0, x10:0, x11:0, x1:0) :|: x12:0 > 0 && x13:0 > 1 && x6:0 < x10:0 && x11:0 > 0 && x9:0 < x5:0 && x7:0 > x11:0 && x7:0 > -1 && x6:0 > 0 && x5:0 > 0 37.72/13.07 f9455_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(x25:0), java.lang.Object(x26:0))), x27:0))))))), java.lang.Object(x28:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29:0), java.lang.Object(x30:0))), x31:0, x32:0, x32:0, x31:0, x27:0) -> f9455_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(x25:0), java.lang.Object(x26:0))), x27:0))))))), java.lang.Object(x28:0), java.lang.Object(x33:0), x34:0, x35:0, 1, x36:0, x27:0) :|: x37:0 > 0 && x38:0 > 1 && x32:0 > -1 && x36:0 > 0 && x35:0 < x32:0 && x31:0 > -1 && x36:0 < x31:0 37.72/13.07 f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54:0), x55:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x56:0), java.lang.Object(javaUtilEx.Content))), x57:0, x58:0, x59:0, x60:0, x55:0) -> f9455_0_indexOf_FieldAccess(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x54:0), x55:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x61:0), x57:0, x62:0, x63:0, x64:0, x55:0) :|: x65:0 > 0 && x66:0 > 1 && x64:0 > 0 && x62:0 < x58:0 && x64:0 < x60:0 && x60:0 > -1 && x63:0 > x59:0 && x59:0 > 0 && x58:0 > 0 37.72/13.07 f9455_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(x14:0), java.lang.Object(javaUtilEx.Content))), x15:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16:0), java.lang.Object(javaUtilEx.Content))), x17:0, x18:0, x18:0, x17:0, x15:0) -> f9455_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(x14:0), java.lang.Object(javaUtilEx.Content))), x15:0))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x19:0), x20:0, x21:0, 1, x22:0, x15:0) :|: x23:0 > 0 && x24:0 > 1 && x18:0 > -1 && x22:0 > 0 && x21:0 < x18:0 && x17:0 > -1 && x22:0 < x17:0 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (44) TempFilterProof (SOUND) 37.72/13.07 Used the following sort dictionary for filtering: 37.72/13.07 f9455_0_indexOf_FieldAccess(VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, VARIABLE, INTEGER, VARIABLE) 37.72/13.07 java.lang.Object(VARIABLE) 37.72/13.07 javaUtilEx.AbstractCollection(VARIABLE) 37.72/13.07 javaUtilEx.AbstractList(VARIABLE) 37.72/13.07 javaUtilEx.AbstractSequentialList(VARIABLE) 37.72/13.07 javaUtilEx.LinkedList(VARIABLE) 37.72/13.07 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 37.72/13.07 NULL() 37.72/13.07 javaUtilEx.Content() 37.72/13.07 Replaced non-predefined constructor symbols by 0. 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (45) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f9455_0_indexOf_FieldAccess(c, c1, c2, o30904[LinkedList$Entry.next]o30375:0:0, o30904[LinkedList$Entry.next]o30904:0:0, o30904[LinkedList$Entry.next]o30904:0:0, o30904[LinkedList$Entry.next]o30375:0:0, o30376-1383935243:0:0) -> f9455_0_indexOf_FieldAccess(c3, c4, c5, o31394[LinkedList$Entry.next]o31392:0:0, o30914[LinkedList$Entry.next]o30912:0:0, c6, o30914[LinkedList$Entry.next]o30375:0:0, o30376-1383935243:0:0) :|: c6 = 1 && (c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))))) && (i4071:0:0 > 0 && i8851:0:0 > 1 && o30904[LinkedList$Entry.next]o30904:0:0 > -1 && o30914[LinkedList$Entry.next]o30375:0:0 > 0 && o30914[LinkedList$Entry.next]o30912:0:0 < o30904[LinkedList$Entry.next]o30904:0:0 && o30904[LinkedList$Entry.next]o30375:0:0 > -1 && o30914[LinkedList$Entry.next]o30375:0:0 < o30904[LinkedList$Entry.next]o30375:0:0) 37.72/13.07 f9455_0_indexOf_FieldAccess(c7, c8, c9, x44:0, x45:0, x46:0, x47:0, x40:0) -> f9455_0_indexOf_FieldAccess(c10, c11, c12, x44:0, x49:0, x50:0, x51:0, x40:0) :|: c12 = 0 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && c7 = 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) 37.72/13.07 f9455_0_indexOf_FieldAccess(c13, c14, c15, x4:0, x5:0, x6:0, x7:0, x1:0) -> f9455_0_indexOf_FieldAccess(c16, c17, c18, x4:0, x9:0, x10:0, x11:0, x1:0) :|: c18 = 0 && (c17 = 0 && (c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)))) && (x12:0 > 0 && x13:0 > 1 && x6:0 < x10:0 && x11:0 > 0 && x9:0 < x5:0 && x7:0 > x11:0 && x7:0 > -1 && x6:0 > 0 && x5:0 > 0) 37.72/13.07 f9455_0_indexOf_FieldAccess(c26, c27, c28, x57:0, x58:0, x59:0, x60:0, x55:0) -> f9455_0_indexOf_FieldAccess(c29, c30, c31, x57:0, x62:0, x63:0, x64:0, x55:0) :|: c31 = 0 && (c30 = 0 && (c29 = 0 && (c28 = 0 && (c27 = 0 && c26 = 0)))) && (x65:0 > 0 && x66:0 > 1 && x64:0 > 0 && x62:0 < x58:0 && x64:0 < x60:0 && x60:0 > -1 && x63:0 > x59:0 && x59:0 > 0 && x58:0 > 0) 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (46) RankingReductionPairProof (EQUIVALENT) 37.72/13.07 Interpretation: 37.72/13.07 [ f9455_0_indexOf_FieldAccess ] = f9455_0_indexOf_FieldAccess_7 37.72/13.07 37.72/13.07 The following rules are decreasing: 37.72/13.07 f9455_0_indexOf_FieldAccess(c, c1, c2, o30904[LinkedList$Entry.next]o30375:0:0, o30904[LinkedList$Entry.next]o30904:0:0, o30904[LinkedList$Entry.next]o30904:0:0, o30904[LinkedList$Entry.next]o30375:0:0, o30376-1383935243:0:0) -> f9455_0_indexOf_FieldAccess(c3, c4, c5, o31394[LinkedList$Entry.next]o31392:0:0, o30914[LinkedList$Entry.next]o30912:0:0, c6, o30914[LinkedList$Entry.next]o30375:0:0, o30376-1383935243:0:0) :|: c6 = 1 && (c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))))) && (i4071:0:0 > 0 && i8851:0:0 > 1 && o30904[LinkedList$Entry.next]o30904:0:0 > -1 && o30914[LinkedList$Entry.next]o30375:0:0 > 0 && o30914[LinkedList$Entry.next]o30912:0:0 < o30904[LinkedList$Entry.next]o30904:0:0 && o30904[LinkedList$Entry.next]o30375:0:0 > -1 && o30914[LinkedList$Entry.next]o30375:0:0 < o30904[LinkedList$Entry.next]o30375:0:0) 37.72/13.07 f9455_0_indexOf_FieldAccess(c7, c8, c9, x44:0, x45:0, x46:0, x47:0, x40:0) -> f9455_0_indexOf_FieldAccess(c10, c11, c12, x44:0, x49:0, x50:0, x51:0, x40:0) :|: c12 = 0 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && c7 = 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) 37.72/13.07 f9455_0_indexOf_FieldAccess(c13, c14, c15, x4:0, x5:0, x6:0, x7:0, x1:0) -> f9455_0_indexOf_FieldAccess(c16, c17, c18, x4:0, x9:0, x10:0, x11:0, x1:0) :|: c18 = 0 && (c17 = 0 && (c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)))) && (x12:0 > 0 && x13:0 > 1 && x6:0 < x10:0 && x11:0 > 0 && x9:0 < x5:0 && x7:0 > x11:0 && x7:0 > -1 && x6:0 > 0 && x5:0 > 0) 37.72/13.07 f9455_0_indexOf_FieldAccess(c26, c27, c28, x57:0, x58:0, x59:0, x60:0, x55:0) -> f9455_0_indexOf_FieldAccess(c29, c30, c31, x57:0, x62:0, x63:0, x64:0, x55:0) :|: c31 = 0 && (c30 = 0 && (c29 = 0 && (c28 = 0 && (c27 = 0 && c26 = 0)))) && (x65:0 > 0 && x66:0 > 1 && x64:0 > 0 && x62:0 < x58:0 && x64:0 < x60:0 && x60:0 > -1 && x63:0 > x59:0 && x59:0 > 0 && x58:0 > 0) 37.72/13.07 37.72/13.07 The following rules are bounded: 37.72/13.07 f9455_0_indexOf_FieldAccess(c, c1, c2, o30904[LinkedList$Entry.next]o30375:0:0, o30904[LinkedList$Entry.next]o30904:0:0, o30904[LinkedList$Entry.next]o30904:0:0, o30904[LinkedList$Entry.next]o30375:0:0, o30376-1383935243:0:0) -> f9455_0_indexOf_FieldAccess(c3, c4, c5, o31394[LinkedList$Entry.next]o31392:0:0, o30914[LinkedList$Entry.next]o30912:0:0, c6, o30914[LinkedList$Entry.next]o30375:0:0, o30376-1383935243:0:0) :|: c6 = 1 && (c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))))) && (i4071:0:0 > 0 && i8851:0:0 > 1 && o30904[LinkedList$Entry.next]o30904:0:0 > -1 && o30914[LinkedList$Entry.next]o30375:0:0 > 0 && o30914[LinkedList$Entry.next]o30912:0:0 < o30904[LinkedList$Entry.next]o30904:0:0 && o30904[LinkedList$Entry.next]o30375:0:0 > -1 && o30914[LinkedList$Entry.next]o30375:0:0 < o30904[LinkedList$Entry.next]o30375:0:0) 37.72/13.07 f9455_0_indexOf_FieldAccess(c7, c8, c9, x44:0, x45:0, x46:0, x47:0, x40:0) -> f9455_0_indexOf_FieldAccess(c10, c11, c12, x44:0, x49:0, x50:0, x51:0, x40:0) :|: c12 = 0 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && c7 = 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) 37.72/13.07 f9455_0_indexOf_FieldAccess(c13, c14, c15, x4:0, x5:0, x6:0, x7:0, x1:0) -> f9455_0_indexOf_FieldAccess(c16, c17, c18, x4:0, x9:0, x10:0, x11:0, x1:0) :|: c18 = 0 && (c17 = 0 && (c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)))) && (x12:0 > 0 && x13:0 > 1 && x6:0 < x10:0 && x11:0 > 0 && x9:0 < x5:0 && x7:0 > x11:0 && x7:0 > -1 && x6:0 > 0 && x5:0 > 0) 37.72/13.07 f9455_0_indexOf_FieldAccess(c26, c27, c28, x57:0, x58:0, x59:0, x60:0, x55:0) -> f9455_0_indexOf_FieldAccess(c29, c30, c31, x57:0, x62:0, x63:0, x64:0, x55:0) :|: c31 = 0 && (c30 = 0 && (c29 = 0 && (c28 = 0 && (c27 = 0 && c26 = 0)))) && (x65:0 > 0 && x66:0 > 1 && x64:0 > 0 && x62:0 < x58:0 && x64:0 < x60:0 && x60:0 > -1 && x63:0 > x59:0 && x59:0 > 0 && x58:0 > 0) 37.72/13.07 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (47) 37.72/13.07 YES 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (48) 37.72/13.07 Obligation: 37.72/13.07 SCC of termination graph based on JBC Program. 37.72/13.07 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateIndexOf.main([Ljava/lang/String;)V 37.72/13.07 SCC calls the following helper methods: javaUtilEx.Content.equals(Ljava/lang/Object;)Z 37.72/13.07 Performed SCC analyses: 37.72/13.07 *Used field analysis yielded the following read fields: 37.72/13.07 *javaUtilEx.LinkedList$Entry: [element, next] 37.72/13.07 *javaUtilEx.LinkedList: [header] 37.72/13.07 *Marker field analysis yielded the following relations that could be markers: 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (49) SCCToIRSProof (SOUND) 37.72/13.07 Transformed FIGraph SCCs to intTRSs. Log: 37.72/13.07 Generated rules. Obtained 65 IRulesP rules: 37.72/13.07 f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), java.lang.Object(o16979sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612, java.lang.Object(o16977sub1403977612))), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979, o16979[LinkedList$Entry.next]o16975) -> f8493_0_indexOf_Load(EOS(STATIC_8493), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979, o16979[LinkedList$Entry.next]o16975) :|: TRUE 37.72/13.07 f8493_0_indexOf_Load(EOS(STATIC_8493), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979, o16979[LinkedList$Entry.next]o16975) -> f8509_0_indexOf_Load(EOS(STATIC_8509), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), java.lang.Object(javaUtilEx.Content(EOC)), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979, o16979[LinkedList$Entry.next]o16975) :|: TRUE 37.72/13.07 f8509_0_indexOf_Load(EOS(STATIC_8509), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), java.lang.Object(javaUtilEx.Content(EOC)), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979, o16979[LinkedList$Entry.next]o16975) -> f8526_0_indexOf_FieldAccess(EOS(STATIC_8526), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979, o16979[LinkedList$Entry.next]o16975) :|: TRUE 37.72/13.07 f8526_0_indexOf_FieldAccess(EOS(STATIC_8526), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979, o16979[LinkedList$Entry.next]o16975) -> f8540_0_indexOf_FieldAccess(EOS(STATIC_8540), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o16979, o16979[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977) :|: o16979[LinkedList$Entry.next]o16977 > 0 && o16977[LinkedList$Entry.next]o16979 > 0 37.72/13.07 f8526_0_indexOf_FieldAccess(EOS(STATIC_8526), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o18027sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18027sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18027sub0), o18027[LinkedList$Entry.next]o16975, o18027[LinkedList$Entry.next]o18027, o18027[LinkedList$Entry.next]o18027, o18027[LinkedList$Entry.next]o16975) -> f8541_0_indexOf_FieldAccess(EOS(STATIC_8541), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o18027sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18027sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18027sub0), o18027[LinkedList$Entry.next]o16975, o18027[LinkedList$Entry.next]o18027) :|: TRUE 37.72/13.07 f8540_0_indexOf_FieldAccess(EOS(STATIC_8540), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745, java.lang.Object(o18050sub1405553745))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745, java.lang.Object(o18050sub1405553745))), o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18048[LinkedList$Entry.next]o16975, o18048[LinkedList$Entry.next]o16977) -> f8553_0_indexOf_FieldAccess(EOS(STATIC_8553), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745, java.lang.Object(o18050sub1405553745))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745, java.lang.Object(o18050sub1405553745))), o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) :|: o18050[LinkedList$Entry.next]o16975 < o18048[LinkedList$Entry.next]o16975 && o18048[LinkedList$Entry.next]o16975 >= 0 && o18050[LinkedList$Entry.next]o16977 < o18048[LinkedList$Entry.next]o16977 && o18048[LinkedList$Entry.next]o16977 >= 0 37.72/13.07 f8553_0_indexOf_FieldAccess(EOS(STATIC_8553), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745, java.lang.Object(o18050sub1405553745))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745, java.lang.Object(o18050sub1405553745))), o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) -> f8564_0_indexOf_InvokeMethod(EOS(STATIC_8564), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745, java.lang.Object(o18050sub1405553745))), java.lang.Object(javaUtilEx.Content(EOC)), o180490, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) :|: TRUE 37.72/13.07 f8564_0_indexOf_InvokeMethod(EOS(STATIC_8564), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745, java.lang.Object(o18050sub1405553745))), java.lang.Object(javaUtilEx.Content(EOC)), o180490, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) -> f8576_0_equals_Load(EOS(STATIC_8576), java.lang.Object(javaUtilEx.Content(EOC)), o180490, java.lang.Object(o16977sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612, java.lang.Object(o16977sub1403977612))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745, java.lang.Object(o18050sub1405553745))), java.lang.Object(o18050sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180490, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) :|: i5376 > 1 37.72/13.07 f8564_0_indexOf_InvokeMethod(EOS(STATIC_8564), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745, java.lang.Object(o18050sub1405553745))), java.lang.Object(javaUtilEx.Content(EOC)), o180490, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) -> f8576_1_equals_Load(EOS(STATIC_8576), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745, java.lang.Object(o18050sub1405553745))), java.lang.Object(javaUtilEx.Content(EOC)), o180490, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) :|: i5376 > 1 37.72/13.07 f8576_0_equals_Load(EOS(STATIC_8576), java.lang.Object(javaUtilEx.Content(EOC)), o180490, java.lang.Object(o16977sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612, java.lang.Object(o16977sub1403977612))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745, java.lang.Object(o18050sub1405553745))), java.lang.Object(o18050sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180490, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) -> f10302_0_equals_Load(EOS(STATIC_10302), java.lang.Object(javaUtilEx.Content(EOC)), o180490, java.lang.Object(o16977sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612, java.lang.Object(o16977sub1403977612))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745, java.lang.Object(o18050sub1405553745))), java.lang.Object(o18050sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180490, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) :|: TRUE 37.72/13.07 f8655_0_equals_Return(EOS(STATIC_8655), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18050sub1405553745))), matching1, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) -> f8657_0_equals_Return(EOS(STATIC_8657), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18050sub1405553745))), 0, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) :|: TRUE && matching1 = 0 37.72/13.07 f8657_0_equals_Return(EOS(STATIC_8657), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189001405796909, java.lang.Object(o18901sub1405796909))), matching1, o18897[LinkedList$Entry.next]o18895, o18897[LinkedList$Entry.next]o18899, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897) -> f8675_0_indexOf_EQ(EOS(STATIC_8675), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189001405796909, java.lang.Object(o18901sub1405796909))), 0, o18897[LinkedList$Entry.next]o18895, o18897[LinkedList$Entry.next]o18899, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897) :|: TRUE && matching1 = 0 37.72/13.07 f8675_0_indexOf_EQ(EOS(STATIC_8675), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189001405796909, java.lang.Object(o18901sub1405796909))), matching1, o18897[LinkedList$Entry.next]o18895, o18897[LinkedList$Entry.next]o18899, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897) -> f8690_0_indexOf_Inc(EOS(STATIC_8690), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189001405796909, java.lang.Object(o18901sub1405796909))), o18897[LinkedList$Entry.next]o18895, o18897[LinkedList$Entry.next]o18899, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897) :|: TRUE && matching1 = 0 37.72/13.07 f8690_0_indexOf_Inc(EOS(STATIC_8690), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189001405796909, java.lang.Object(o18901sub1405796909))), o18897[LinkedList$Entry.next]o18895, o18897[LinkedList$Entry.next]o18899, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897) -> f8705_0_indexOf_Load(EOS(STATIC_8705), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189001405796909, java.lang.Object(o18901sub1405796909))), o18897[LinkedList$Entry.next]o18895, o18897[LinkedList$Entry.next]o18899, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897) :|: TRUE 37.72/13.07 f8705_0_indexOf_Load(EOS(STATIC_8705), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189001405796909, java.lang.Object(o18901sub1405796909))), o18897[LinkedList$Entry.next]o18895, o18897[LinkedList$Entry.next]o18899, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897) -> f8721_0_indexOf_FieldAccess(EOS(STATIC_8721), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189001405796909, java.lang.Object(o18901sub1405796909))), o18897[LinkedList$Entry.next]o18895, o18897[LinkedList$Entry.next]o18899, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897) :|: TRUE 37.72/13.07 f8721_0_indexOf_FieldAccess(EOS(STATIC_8721), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189001405796909, java.lang.Object(o18901sub1405796909))), o18897[LinkedList$Entry.next]o18895, o18897[LinkedList$Entry.next]o18899, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897) -> f8732_0_indexOf_Store(EOS(STATIC_8732), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18901sub0), o18897[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897, o18897[LinkedList$Entry.next]o18901) :|: o18897[LinkedList$Entry.next]o18901 > o18897[LinkedList$Entry.next]o18899 && o18897[LinkedList$Entry.next]o18899 >= 0 37.72/13.07 f8732_0_indexOf_Store(EOS(STATIC_8732), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18901sub0), o18897[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897, o18897[LinkedList$Entry.next]o18901) -> f8746_0_indexOf_JMP(EOS(STATIC_8746), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18901sub0), o18897[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897, o18897[LinkedList$Entry.next]o18901) :|: TRUE 37.72/13.07 f8746_0_indexOf_JMP(EOS(STATIC_8746), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18901sub0), o18897[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897, o18897[LinkedList$Entry.next]o18901) -> f8768_0_indexOf_Load(EOS(STATIC_8768), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18901sub0), o18897[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897, o18897[LinkedList$Entry.next]o18901) :|: TRUE 37.72/13.07 f8768_0_indexOf_Load(EOS(STATIC_8768), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18901sub0), o18897[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897, o18897[LinkedList$Entry.next]o18901) -> f8418_0_indexOf_Load(EOS(STATIC_8418), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18896-1483373757, java.lang.Object(o18897sub-1483373757)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18901sub0), o18897[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18895, o18901[LinkedList$Entry.next]o18897, o18897[LinkedList$Entry.next]o18901) :|: TRUE 37.72/13.07 f8418_0_indexOf_Load(EOS(STATIC_8418), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979) -> f8429_0_indexOf_Load(EOS(STATIC_8429), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), java.lang.Object(o16979sub0), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979) :|: TRUE 37.72/13.07 f8429_0_indexOf_Load(EOS(STATIC_8429), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), java.lang.Object(o16979sub0), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979) -> f8442_0_indexOf_FieldAccess(EOS(STATIC_8442), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), java.lang.Object(o16979sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979) :|: TRUE 37.72/13.07 f8442_0_indexOf_FieldAccess(EOS(STATIC_8442), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), java.lang.Object(o16979sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979) -> 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, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), java.lang.Object(o16979sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612, java.lang.Object(o16977sub1403977612))), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979) :|: TRUE 37.72/13.07 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, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), java.lang.Object(o16979sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612, java.lang.Object(o16977sub1403977612))), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979) -> f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16979sub0), java.lang.Object(o16979sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612, java.lang.Object(o16977sub1403977612))), o16977[LinkedList$Entry.next]o16975, o16979[LinkedList$Entry.next]o16977, o16977[LinkedList$Entry.next]o16979, o16979[LinkedList$Entry.next]o16975) :|: o16979[LinkedList$Entry.next]o16975 > 0 37.72/13.07 f8656_0_equals_Return(EOS(STATIC_8656), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18715sub1405553745), java.lang.Object(o18050sub1405553745))), matching1, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) -> f8657_0_equals_Return(EOS(STATIC_8657), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18715sub1405553745), java.lang.Object(o18050sub1405553745))), 0, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) :|: TRUE && matching1 = 0 37.72/13.07 f8736_0_equals_Return(EOS(STATIC_8736), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18050sub1405553745))), matching1, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) -> f8757_0_equals_Return(EOS(STATIC_8757), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18050sub1405553745))), 0, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) :|: TRUE && matching1 = 0 37.72/13.07 f8757_0_equals_Return(EOS(STATIC_8757), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20296-1441249283, java.lang.Object(o20297sub-1441249283)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub1426859146))), i6098, o20297[LinkedList$Entry.next]o20295, o20297[LinkedList$Entry.next]o20299, o20301[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20297) -> f8772_0_indexOf_EQ(EOS(STATIC_8772), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20296-1441249283, java.lang.Object(o20297sub-1441249283)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub1426859146))), i6098, o20297[LinkedList$Entry.next]o20295, o20297[LinkedList$Entry.next]o20299, o20301[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20297) :|: TRUE 37.72/13.07 f8772_0_indexOf_EQ(EOS(STATIC_8772), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20296-1441249283, java.lang.Object(o20297sub-1441249283)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub1426859146))), matching1, o20297[LinkedList$Entry.next]o20295, o20297[LinkedList$Entry.next]o20299, o20301[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20297) -> f8789_0_indexOf_EQ(EOS(STATIC_8789), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20296-1441249283, java.lang.Object(o20297sub-1441249283)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub1426859146))), 0, o20297[LinkedList$Entry.next]o20295, o20297[LinkedList$Entry.next]o20299, o20301[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20297) :|: TRUE && matching1 = 0 37.72/13.07 f8789_0_indexOf_EQ(EOS(STATIC_8789), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20296-1441249283, java.lang.Object(o20297sub-1441249283)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub1426859146))), matching1, o20297[LinkedList$Entry.next]o20295, o20297[LinkedList$Entry.next]o20299, o20301[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20297) -> f8807_0_indexOf_Inc(EOS(STATIC_8807), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20296-1441249283, java.lang.Object(o20297sub-1441249283)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub1426859146))), o20297[LinkedList$Entry.next]o20295, o20297[LinkedList$Entry.next]o20299, o20301[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20297) :|: TRUE && matching1 = 0 37.72/13.07 f8807_0_indexOf_Inc(EOS(STATIC_8807), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20296-1441249283, java.lang.Object(o20297sub-1441249283)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub1426859146))), o20297[LinkedList$Entry.next]o20295, o20297[LinkedList$Entry.next]o20299, o20301[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20297) -> f8820_0_indexOf_Load(EOS(STATIC_8820), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20296-1441249283, java.lang.Object(o20297sub-1441249283)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub1426859146))), o20297[LinkedList$Entry.next]o20295, o20297[LinkedList$Entry.next]o20299, o20301[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20297) :|: TRUE 37.72/13.07 f8820_0_indexOf_Load(EOS(STATIC_8820), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20296-1441249283, java.lang.Object(o20297sub-1441249283)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub1426859146))), o20297[LinkedList$Entry.next]o20295, o20297[LinkedList$Entry.next]o20299, o20301[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20297) -> f8834_0_indexOf_FieldAccess(EOS(STATIC_8834), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20296-1441249283, java.lang.Object(o20297sub-1441249283)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub1426859146))), o20297[LinkedList$Entry.next]o20295, o20297[LinkedList$Entry.next]o20299, o20301[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20297) :|: TRUE 37.72/13.07 f8834_0_indexOf_FieldAccess(EOS(STATIC_8834), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20296-1441249283, java.lang.Object(o20297sub-1441249283)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub1426859146))), o20297[LinkedList$Entry.next]o20295, o20297[LinkedList$Entry.next]o20299, o20301[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20297) -> f8850_0_indexOf_Store(EOS(STATIC_8850), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20296-1441249283, java.lang.Object(o20297sub-1441249283)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub0), o20297[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20297, o20297[LinkedList$Entry.next]o20301) :|: o20297[LinkedList$Entry.next]o20301 > o20297[LinkedList$Entry.next]o20299 && o20297[LinkedList$Entry.next]o20299 >= 0 37.72/13.07 f8850_0_indexOf_Store(EOS(STATIC_8850), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20296-1441249283, java.lang.Object(o20297sub-1441249283)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub0), o20297[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20297, o20297[LinkedList$Entry.next]o20301) -> f8732_0_indexOf_Store(EOS(STATIC_8732), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20296-1441249283, java.lang.Object(o20297sub-1441249283)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub0), o20297[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20295, o20301[LinkedList$Entry.next]o20297, o20297[LinkedList$Entry.next]o20301) :|: TRUE 37.72/13.07 f8756_0_equals_Return(EOS(STATIC_8756), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18050sub1405553745))), matching1, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) -> f8757_0_equals_Return(EOS(STATIC_8757), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18050sub1405553745))), 1, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) :|: TRUE && matching1 = 1 37.72/13.07 f8541_0_indexOf_FieldAccess(EOS(STATIC_8541), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-81457583, java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520, java.lang.Object(o18054sub1405554520))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520, java.lang.Object(o18054sub1405554520))), o18052[LinkedList$Entry.next]o16975, o18052[LinkedList$Entry.next]o18052) -> f8554_0_indexOf_FieldAccess(EOS(STATIC_8554), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-81457583, java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520, java.lang.Object(o18054sub1405554520))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520, java.lang.Object(o18054sub1405554520))), o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) :|: o18054[LinkedList$Entry.next]o16975 < o18052[LinkedList$Entry.next]o16975 && o18052[LinkedList$Entry.next]o16975 >= 0 && o18054[LinkedList$Entry.next]o18052 < o18052[LinkedList$Entry.next]o18052 && o18052[LinkedList$Entry.next]o18052 >= 0 37.72/13.07 f8554_0_indexOf_FieldAccess(EOS(STATIC_8554), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-81457583, java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520, java.lang.Object(o18054sub1405554520))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520, java.lang.Object(o18054sub1405554520))), o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) -> f8565_0_indexOf_InvokeMethod(EOS(STATIC_8565), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-81457583, java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520, java.lang.Object(o18054sub1405554520))), java.lang.Object(javaUtilEx.Content(EOC)), o180530, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) :|: TRUE 37.72/13.07 f8565_0_indexOf_InvokeMethod(EOS(STATIC_8565), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-81457583, java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520, java.lang.Object(o18054sub1405554520))), java.lang.Object(javaUtilEx.Content(EOC)), o180530, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) -> f8577_0_equals_Load(EOS(STATIC_8577), java.lang.Object(javaUtilEx.Content(EOC)), o180530, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-1485435164, java.lang.Object(o18054sub-1485435164))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520, java.lang.Object(o18054sub1405554520))), java.lang.Object(o18054sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-81457583, java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180530, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) :|: i5376 > 1 37.72/13.07 f8565_0_indexOf_InvokeMethod(EOS(STATIC_8565), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-81457583, java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520, java.lang.Object(o18054sub1405554520))), java.lang.Object(javaUtilEx.Content(EOC)), o180530, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) -> f8577_1_equals_Load(EOS(STATIC_8577), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-81457583, java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520, java.lang.Object(o18054sub1405554520))), java.lang.Object(javaUtilEx.Content(EOC)), o180530, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) :|: i5376 > 1 37.72/13.07 f8577_0_equals_Load(EOS(STATIC_8577), java.lang.Object(javaUtilEx.Content(EOC)), o180530, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-1485435164, java.lang.Object(o18054sub-1485435164))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520, java.lang.Object(o18054sub1405554520))), java.lang.Object(o18054sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-81457583, java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180530, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) -> f10382_0_equals_Load(EOS(STATIC_10382), java.lang.Object(javaUtilEx.Content(EOC)), o180530, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-1485435164, java.lang.Object(o18054sub-1485435164))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520, java.lang.Object(o18054sub1405554520))), java.lang.Object(o18054sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-81457583, java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180530, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) :|: TRUE 37.72/13.07 f8659_0_equals_Return(EOS(STATIC_8659), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18054sub1405554520))), matching1, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) -> f8661_0_equals_Return(EOS(STATIC_8661), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18054sub1405554520))), 0, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) :|: TRUE && matching1 = 0 37.72/13.07 f8661_0_equals_Return(EOS(STATIC_8661), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18946-1483323785, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18948-77501952, java.lang.Object(o18949sub-77501952)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189481405821833, java.lang.Object(o18949sub1405821833))), matching1, o18949[LinkedList$Entry.next]o18945, o18949[LinkedList$Entry.next]o18947) -> f8676_0_indexOf_EQ(EOS(STATIC_8676), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18946-1483323785, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18948-77501952, java.lang.Object(o18949sub-77501952)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189481405821833, java.lang.Object(o18949sub1405821833))), 0, o18949[LinkedList$Entry.next]o18945, o18949[LinkedList$Entry.next]o18947) :|: TRUE && matching1 = 0 37.72/13.07 f8676_0_indexOf_EQ(EOS(STATIC_8676), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18946-1483323785, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18948-77501952, java.lang.Object(o18949sub-77501952)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189481405821833, java.lang.Object(o18949sub1405821833))), matching1, o18949[LinkedList$Entry.next]o18945, o18949[LinkedList$Entry.next]o18947) -> f8691_0_indexOf_Inc(EOS(STATIC_8691), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18946-1483323785, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18948-77501952, java.lang.Object(o18949sub-77501952)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189481405821833, java.lang.Object(o18949sub1405821833))), o18949[LinkedList$Entry.next]o18945, o18949[LinkedList$Entry.next]o18947) :|: TRUE && matching1 = 0 37.72/13.07 f8691_0_indexOf_Inc(EOS(STATIC_8691), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18946-1483323785, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18948-77501952, java.lang.Object(o18949sub-77501952)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189481405821833, java.lang.Object(o18949sub1405821833))), o18949[LinkedList$Entry.next]o18945, o18949[LinkedList$Entry.next]o18947) -> f8706_0_indexOf_Load(EOS(STATIC_8706), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18946-1483323785, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18948-77501952, java.lang.Object(o18949sub-77501952)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189481405821833, java.lang.Object(o18949sub1405821833))), o18949[LinkedList$Entry.next]o18945, o18949[LinkedList$Entry.next]o18947) :|: TRUE 37.72/13.07 f8706_0_indexOf_Load(EOS(STATIC_8706), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18946-1483323785, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18948-77501952, java.lang.Object(o18949sub-77501952)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189481405821833, java.lang.Object(o18949sub1405821833))), o18949[LinkedList$Entry.next]o18945, o18949[LinkedList$Entry.next]o18947) -> f8722_0_indexOf_FieldAccess(EOS(STATIC_8722), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18946-1483323785, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18948-77501952, java.lang.Object(o18949sub-77501952)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189481405821833, java.lang.Object(o18949sub1405821833))), o18949[LinkedList$Entry.next]o18945, o18949[LinkedList$Entry.next]o18947) :|: TRUE 37.72/13.07 f8722_0_indexOf_FieldAccess(EOS(STATIC_8722), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18946-1483323785, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18948-77501952, java.lang.Object(o18949sub-77501952)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o189481405821833, java.lang.Object(o18949sub1405821833))), o18949[LinkedList$Entry.next]o18945, o18949[LinkedList$Entry.next]o18947) -> f8733_0_indexOf_Store(EOS(STATIC_8733), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18946-1483323785, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18948-77501952, java.lang.Object(o18949sub-77501952)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18949sub0), o18949[LinkedList$Entry.next]o18945, o18949[LinkedList$Entry.next]o18947) :|: TRUE 37.72/13.07 f8733_0_indexOf_Store(EOS(STATIC_8733), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18946-1483323785, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18948-77501952, java.lang.Object(o18949sub-77501952)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18949sub0), o18949[LinkedList$Entry.next]o18945, o18949[LinkedList$Entry.next]o18947) -> f8850_0_indexOf_Store(EOS(STATIC_8850), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18946-1483323785, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18948-77501952, java.lang.Object(o18949sub-77501952)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18949sub0), o18947[LinkedList$Entry.next]o18945, o18949[LinkedList$Entry.next]o18945, o18949[LinkedList$Entry.next]o18947, o18947[LinkedList$Entry.next]o18949) :|: o18947[LinkedList$Entry.next]o18949 = 1 37.72/13.07 f8660_0_equals_Return(EOS(STATIC_8660), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18765sub-81457583), java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18765sub1405554520), java.lang.Object(o18054sub1405554520))), matching1, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) -> f8661_0_equals_Return(EOS(STATIC_8661), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18765sub-81457583), java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18765sub1405554520), java.lang.Object(o18054sub1405554520))), 0, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) :|: TRUE && matching1 = 0 37.72/13.07 f8737_0_equals_Return(EOS(STATIC_8737), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub1405554520))), matching1, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) -> f8759_0_equals_Return(EOS(STATIC_8759), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub1405554520))), 0, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) :|: TRUE && matching1 = 0 37.72/13.07 f8759_0_equals_Return(EOS(STATIC_8759), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub1426882117))), i6114, o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) -> f8773_0_indexOf_EQ(EOS(STATIC_8773), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub1426882117))), i6114, o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) :|: TRUE 37.72/13.07 f8773_0_indexOf_EQ(EOS(STATIC_8773), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub1426882117))), matching1, o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) -> f8791_0_indexOf_EQ(EOS(STATIC_8791), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub1426882117))), 0, o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) :|: TRUE && matching1 = 0 37.72/13.07 f8791_0_indexOf_EQ(EOS(STATIC_8791), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub1426882117))), matching1, o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) -> f8809_0_indexOf_Inc(EOS(STATIC_8809), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub1426882117))), o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) :|: TRUE && matching1 = 0 37.72/13.07 f8809_0_indexOf_Inc(EOS(STATIC_8809), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub1426882117))), o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) -> f8821_0_indexOf_Load(EOS(STATIC_8821), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub1426882117))), o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) :|: TRUE 37.72/13.07 f8821_0_indexOf_Load(EOS(STATIC_8821), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub1426882117))), o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) -> f8835_0_indexOf_FieldAccess(EOS(STATIC_8835), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub1426882117))), o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) :|: TRUE 37.72/13.07 f8835_0_indexOf_FieldAccess(EOS(STATIC_8835), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub1426882117))), o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) -> f8851_0_indexOf_Store(EOS(STATIC_8851), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub0), o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) :|: TRUE 37.72/13.07 f8851_0_indexOf_Store(EOS(STATIC_8851), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub0), o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) -> f8863_0_indexOf_JMP(EOS(STATIC_8863), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub0), o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) :|: TRUE 37.72/13.07 f8863_0_indexOf_JMP(EOS(STATIC_8863), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub0), o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) -> f8879_0_indexOf_Load(EOS(STATIC_8879), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub0), o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) :|: TRUE 37.72/13.07 f8879_0_indexOf_Load(EOS(STATIC_8879), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub0), o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326) -> f8418_0_indexOf_Load(EOS(STATIC_8418), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20325-1441203217, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub-14321100)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub0), o20326[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20324, o20328[LinkedList$Entry.next]o20326, o20326[LinkedList$Entry.next]o20328) :|: o20326[LinkedList$Entry.next]o20328 = 1 37.72/13.07 f8758_0_equals_Return(EOS(STATIC_8758), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub1405554520))), matching1, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) -> f8759_0_equals_Return(EOS(STATIC_8759), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub1405554520))), 1, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) :|: TRUE && matching1 = 1 37.72/13.07 f8576_1_equals_Load(EOS(STATIC_8576), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18050sub1405553745))), java.lang.Object(javaUtilEx.Content(EOC)), NULL, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) -> f8655_0_equals_Return(EOS(STATIC_8655), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18050sub1405553745))), 0, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) :|: TRUE 37.72/13.07 f8576_1_equals_Load(EOS(STATIC_8576), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18715sub1405553745), java.lang.Object(o18050sub1405553745))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18715sub0), o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) -> f8656_0_equals_Return(EOS(STATIC_8656), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18715sub1405553745), java.lang.Object(o18050sub1405553745))), 0, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) :|: TRUE 37.72/13.07 f8576_1_equals_Load(EOS(STATIC_8576), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18050sub1405553745))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) -> f8736_0_equals_Return(EOS(STATIC_8736), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18050sub1405553745))), 0, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) :|: TRUE 37.72/13.07 f8576_1_equals_Load(EOS(STATIC_8576), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18050sub1405553745))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) -> f8756_0_equals_Return(EOS(STATIC_8756), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(o16977sub-1487012103)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18050sub1405553745))), 1, o16977[LinkedList$Entry.next]o16975, o16977[LinkedList$Entry.next]o18048, o18050[LinkedList$Entry.next]o16975, o18050[LinkedList$Entry.next]o16977) :|: TRUE 37.72/13.07 f8577_1_equals_Load(EOS(STATIC_8577), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18054sub1405554520))), java.lang.Object(javaUtilEx.Content(EOC)), NULL, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) -> f8659_0_equals_Return(EOS(STATIC_8659), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18054sub1405554520))), 0, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) :|: TRUE 37.72/13.07 f8577_1_equals_Load(EOS(STATIC_8577), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18765sub-81457583), java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18765sub1405554520), java.lang.Object(o18054sub1405554520))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18765sub0), o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) -> f8660_0_equals_Return(EOS(STATIC_8660), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18765sub-81457583), java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18765sub1405554520), java.lang.Object(o18054sub1405554520))), 0, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) :|: TRUE 37.72/13.07 f8577_1_equals_Load(EOS(STATIC_8577), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub1405554520))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) -> f8737_0_equals_Return(EOS(STATIC_8737), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub1405554520))), 0, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) :|: TRUE 37.72/13.07 f8577_1_equals_Load(EOS(STATIC_8577), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub1405554520))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) -> f8758_0_equals_Return(EOS(STATIC_8758), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub-81457583)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub1405554520))), 1, o18054[LinkedList$Entry.next]o16975, o18054[LinkedList$Entry.next]o18052) :|: TRUE 37.72/13.07 Combined rules. Obtained 8 IRulesP rules: 37.72/13.07 f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub1405554520:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub1405554520:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:0, java.lang.Object(o16977sub1403977612:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16975:0) -> f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20328sub0:0), java.lang.Object(o20328sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:1, java.lang.Object(o16977sub1403977612:1))), o20326[LinkedList$Entry.next]o20324:0, o18054[LinkedList$Entry.next]o18052:0, 1, o18054[LinkedList$Entry.next]o16975:0) :|: o16977[LinkedList$Entry.next]o16975:0 > -1 && o18054[LinkedList$Entry.next]o16975:0 < o16977[LinkedList$Entry.next]o16975:0 && o18054[LinkedList$Entry.next]o18052:0 < o16979[LinkedList$Entry.next]o16977:0 && o16979[LinkedList$Entry.next]o16977:0 > -1 && i5376:0 > 1 && o18054[LinkedList$Entry.next]o16975:0 > 0 37.72/13.07 f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(o16977sub-1487012103:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18050sub1405553745:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18050sub1405553745:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:0, java.lang.Object(o16977sub1403977612:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16979:0, o16979[LinkedList$Entry.next]o16975:0) -> f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(o16977sub-1487012103:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20301sub0:0), java.lang.Object(o20301sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:1, java.lang.Object(o16977sub1403977612:1))), o16977[LinkedList$Entry.next]o16975:0, o18050[LinkedList$Entry.next]o16977:0, o20297[LinkedList$Entry.next]o20301:0, o18050[LinkedList$Entry.next]o16975:0) :|: o16977[LinkedList$Entry.next]o16979:0 > 0 && o16979[LinkedList$Entry.next]o16977:0 > 0 && o16979[LinkedList$Entry.next]o16975:0 > -1 && o18050[LinkedList$Entry.next]o16975:0 < o16979[LinkedList$Entry.next]o16975:0 && o18050[LinkedList$Entry.next]o16977:0 < o16979[LinkedList$Entry.next]o16977:0 && o20297[LinkedList$Entry.next]o20301:0 > o16977[LinkedList$Entry.next]o16979:0 && i5376:0 > 1 && o18050[LinkedList$Entry.next]o16975:0 > 0 37.72/13.07 f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(o16977sub-1487012103:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18715sub1405553745:0), java.lang.Object(o18050sub1405553745:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18715sub1405553745:0), java.lang.Object(o18050sub1405553745:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:0, java.lang.Object(o16977sub1403977612:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16979:0, o16979[LinkedList$Entry.next]o16975:0) -> f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(o16977sub-1487012103:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18901sub0:0), java.lang.Object(o18901sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:1, java.lang.Object(o16977sub1403977612:1))), o16977[LinkedList$Entry.next]o16975:0, o18050[LinkedList$Entry.next]o16977:0, o18897[LinkedList$Entry.next]o18901:0, o18050[LinkedList$Entry.next]o16975:0) :|: o16977[LinkedList$Entry.next]o16979:0 > 0 && o16979[LinkedList$Entry.next]o16977:0 > 0 && o18897[LinkedList$Entry.next]o18901:0 > o16977[LinkedList$Entry.next]o16979:0 && o16979[LinkedList$Entry.next]o16975:0 > -1 && o18050[LinkedList$Entry.next]o16975:0 < o16979[LinkedList$Entry.next]o16975:0 && o18050[LinkedList$Entry.next]o16977:0 < o16979[LinkedList$Entry.next]o16977:0 && o18050[LinkedList$Entry.next]o16975:0 > 0 && i5376:0 > 1 37.72/13.07 f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(o16977sub-1487012103:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18050sub1405553745:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18050sub1405553745:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:0, java.lang.Object(o16977sub1403977612:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16979:0, o16979[LinkedList$Entry.next]o16975:0) -> f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(o16977sub-1487012103:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18901sub0:0), java.lang.Object(o18901sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:1, java.lang.Object(o16977sub1403977612:1))), o16977[LinkedList$Entry.next]o16975:0, o18050[LinkedList$Entry.next]o16977:0, o18897[LinkedList$Entry.next]o18901:0, o18050[LinkedList$Entry.next]o16975:0) :|: o16977[LinkedList$Entry.next]o16979:0 > 0 && o16979[LinkedList$Entry.next]o16977:0 > 0 && o18897[LinkedList$Entry.next]o18901:0 > o16977[LinkedList$Entry.next]o16979:0 && o16979[LinkedList$Entry.next]o16975:0 > -1 && o18050[LinkedList$Entry.next]o16975:0 < o16979[LinkedList$Entry.next]o16975:0 && o18050[LinkedList$Entry.next]o16977:0 < o16979[LinkedList$Entry.next]o16977:0 && o18050[LinkedList$Entry.next]o16975:0 > 0 && i5376:0 > 1 37.72/13.07 f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18054sub1405554520:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18054sub1405554520:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:0, java.lang.Object(o16977sub1403977612:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16975:0) -> f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18949sub0:0), java.lang.Object(o18949sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:1, java.lang.Object(o16977sub1403977612:1))), o18947[LinkedList$Entry.next]o18945:0, o18054[LinkedList$Entry.next]o18052:0, 1, o18054[LinkedList$Entry.next]o16975:0) :|: o16977[LinkedList$Entry.next]o16975:0 > -1 && o18054[LinkedList$Entry.next]o16975:0 < o16977[LinkedList$Entry.next]o16975:0 && o18054[LinkedList$Entry.next]o18052:0 < o16979[LinkedList$Entry.next]o16977:0 && o16979[LinkedList$Entry.next]o16977:0 > -1 && i5376:0 > 1 && o18054[LinkedList$Entry.next]o16975:0 > 0 37.72/13.07 f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18765sub-81457583:0), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18765sub1405554520:0), java.lang.Object(o18054sub1405554520:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18765sub1405554520:0), java.lang.Object(o18054sub1405554520:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:0, java.lang.Object(o16977sub1403977612:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16975:0) -> f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18765sub-81457583:0), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18949sub0:0), java.lang.Object(o18949sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:1, java.lang.Object(o16977sub1403977612:1))), o18947[LinkedList$Entry.next]o18945:0, o18054[LinkedList$Entry.next]o18052:0, 1, o18054[LinkedList$Entry.next]o16975:0) :|: o16977[LinkedList$Entry.next]o16975:0 > -1 && o18054[LinkedList$Entry.next]o16975:0 < o16977[LinkedList$Entry.next]o16975:0 && o18054[LinkedList$Entry.next]o18052:0 < o16979[LinkedList$Entry.next]o16977:0 && o16979[LinkedList$Entry.next]o16977:0 > -1 && i5376:0 > 1 && o18054[LinkedList$Entry.next]o16975:0 > 0 37.72/13.07 Removed following non-SCC rules: 37.72/13.07 f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-81457583:0, java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520:0, java.lang.Object(o18054sub1405554520:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520:0, java.lang.Object(o18054sub1405554520:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:0, java.lang.Object(o16977sub1403977612:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16975:0) -> f10382_0_equals_Load(EOS(STATIC_10382), java.lang.Object(javaUtilEx.Content(EOC)), o180530:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:1, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-1485435164:0, java.lang.Object(o18054sub-1485435164:0))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180531405554520:0, java.lang.Object(o18054sub1405554520:0))), java.lang.Object(o18054sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18053-81457583:0, java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180530:0, o18054[LinkedList$Entry.next]o16975:0, o18054[LinkedList$Entry.next]o18052:0) :|: o16977[LinkedList$Entry.next]o16975:0 > -1 && o18054[LinkedList$Entry.next]o16975:0 < o16977[LinkedList$Entry.next]o16975:0 && o18054[LinkedList$Entry.next]o18052:0 < o16979[LinkedList$Entry.next]o16977:0 && i5376:0 > 1 && o16979[LinkedList$Entry.next]o16977:0 > -1 37.72/13.07 f8474_0_indexOf_EQ(EOS(STATIC_8474), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(o16977sub-1487012103:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745:0, java.lang.Object(o18050sub1405553745:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745:0, java.lang.Object(o18050sub1405553745:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:0, java.lang.Object(o16977sub1403977612:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16979:0, o16979[LinkedList$Entry.next]o16975:0) -> f10302_0_equals_Load(EOS(STATIC_10302), java.lang.Object(javaUtilEx.Content(EOC)), o180490:0, java.lang.Object(o16977sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o169761403977612:1, java.lang.Object(o16977sub1403977612:1))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180491405553745:0, java.lang.Object(o18050sub1405553745:0))), java.lang.Object(o18050sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16976-1487012103:0, java.lang.Object(o16977sub-1487012103:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180490:0, o16977[LinkedList$Entry.next]o16975:0, o16977[LinkedList$Entry.next]o16979:0, o18050[LinkedList$Entry.next]o16975:0, o18050[LinkedList$Entry.next]o16977:0) :|: o16979[LinkedList$Entry.next]o16977:0 > 0 && o16979[LinkedList$Entry.next]o16975:0 > -1 && o18050[LinkedList$Entry.next]o16975:0 < o16979[LinkedList$Entry.next]o16975:0 && o18050[LinkedList$Entry.next]o16977:0 < o16979[LinkedList$Entry.next]o16977:0 && i5376:0 > 1 && o16977[LinkedList$Entry.next]o16979:0 > 0 37.72/13.07 Filtered constant ground arguments: 37.72/13.07 f8474_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f8474_0_indexOf_EQ(x2, x4, x5, x6, x7, x8, x9, x10) 37.72/13.07 EOS(x1) -> EOS 37.72/13.07 javaUtilEx.Content(x1) -> javaUtilEx.Content 37.72/13.07 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 37.72/13.07 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 37.72/13.07 Filtered duplicate arguments: 37.72/13.07 f8474_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8) -> f8474_0_indexOf_EQ(x1, x3, x4, x5, x6, x7, x8) 37.72/13.07 Filtered unneeded arguments: 37.72/13.07 f8474_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7) -> f8474_0_indexOf_EQ(x1, x2, x4, x5, x6, x7) 37.72/13.07 Finished conversion. Obtained 6 rules.P rules: 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub1405554520:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(o20328sub0:0), o20326[LinkedList$Entry.next]o20324:0, o18054[LinkedList$Entry.next]o18052:0, 1, o18054[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) :|: o18054[LinkedList$Entry.next]o16975:0 < o16977[LinkedList$Entry.next]o16975:0 && o16977[LinkedList$Entry.next]o16975:0 > -1 && o18054[LinkedList$Entry.next]o18052:0 < o16979[LinkedList$Entry.next]o16977:0 && o16979[LinkedList$Entry.next]o16977:0 > -1 && o18054[LinkedList$Entry.next]o16975:0 > 0 && i5376:0 > 1 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(o16977sub-1487012103:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18050sub1405553745:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16979:0, o16979[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(o16977sub-1487012103:0)))))))), java.lang.Object(o20301sub0:0), o16977[LinkedList$Entry.next]o16975:0, o18050[LinkedList$Entry.next]o16977:0, o20297[LinkedList$Entry.next]o20301:0, o18050[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) :|: o16979[LinkedList$Entry.next]o16977:0 > 0 && o16977[LinkedList$Entry.next]o16979:0 > 0 && o16979[LinkedList$Entry.next]o16975:0 > -1 && o18050[LinkedList$Entry.next]o16975:0 < o16979[LinkedList$Entry.next]o16975:0 && o18050[LinkedList$Entry.next]o16977:0 < o16979[LinkedList$Entry.next]o16977:0 && o20297[LinkedList$Entry.next]o20301:0 > o16977[LinkedList$Entry.next]o16979:0 && o18050[LinkedList$Entry.next]o16975:0 > 0 && i5376:0 > 1 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(o16977sub-1487012103:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o18715sub1405553745:0), java.lang.Object(o18050sub1405553745:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16979:0, o16979[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(o16977sub-1487012103:0)))))))), java.lang.Object(o18901sub0:0), o16977[LinkedList$Entry.next]o16975:0, o18050[LinkedList$Entry.next]o16977:0, o18897[LinkedList$Entry.next]o18901:0, o18050[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) :|: o16979[LinkedList$Entry.next]o16977:0 > 0 && o16977[LinkedList$Entry.next]o16979:0 > 0 && o18897[LinkedList$Entry.next]o18901:0 > o16977[LinkedList$Entry.next]o16979:0 && o16979[LinkedList$Entry.next]o16975:0 > -1 && o18050[LinkedList$Entry.next]o16975:0 < o16979[LinkedList$Entry.next]o16975:0 && o18050[LinkedList$Entry.next]o16977:0 < o16979[LinkedList$Entry.next]o16977:0 && i5376:0 > 1 && o18050[LinkedList$Entry.next]o16975:0 > 0 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(o16977sub-1487012103:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18050sub1405553745:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16979:0, o16979[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(o16977sub-1487012103:0)))))))), java.lang.Object(o18901sub0:0), o16977[LinkedList$Entry.next]o16975:0, o18050[LinkedList$Entry.next]o16977:0, o18897[LinkedList$Entry.next]o18901:0, o18050[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) :|: o16979[LinkedList$Entry.next]o16977:0 > 0 && o16977[LinkedList$Entry.next]o16979:0 > 0 && o18897[LinkedList$Entry.next]o18901:0 > o16977[LinkedList$Entry.next]o16979:0 && o16979[LinkedList$Entry.next]o16975:0 > -1 && o18050[LinkedList$Entry.next]o16975:0 < o16979[LinkedList$Entry.next]o16975:0 && o18050[LinkedList$Entry.next]o16977:0 < o16979[LinkedList$Entry.next]o16977:0 && i5376:0 > 1 && o18050[LinkedList$Entry.next]o16975:0 > 0 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18054sub1405554520:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(o18949sub0:0), o18947[LinkedList$Entry.next]o18945:0, o18054[LinkedList$Entry.next]o18052:0, 1, o18054[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) :|: o18054[LinkedList$Entry.next]o16975:0 < o16977[LinkedList$Entry.next]o16975:0 && o16977[LinkedList$Entry.next]o16975:0 > -1 && o18054[LinkedList$Entry.next]o18052:0 < o16979[LinkedList$Entry.next]o16977:0 && o16979[LinkedList$Entry.next]o16977:0 > -1 && o18054[LinkedList$Entry.next]o16975:0 > 0 && i5376:0 > 1 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o18765sub-81457583:0), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o18765sub1405554520:0), java.lang.Object(o18054sub1405554520:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o18765sub-81457583:0), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(o18949sub0:0), o18947[LinkedList$Entry.next]o18945:0, o18054[LinkedList$Entry.next]o18052:0, 1, o18054[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) :|: o18054[LinkedList$Entry.next]o16975:0 < o16977[LinkedList$Entry.next]o16975:0 && o16977[LinkedList$Entry.next]o16975:0 > -1 && o18054[LinkedList$Entry.next]o18052:0 < o16979[LinkedList$Entry.next]o16977:0 && o16979[LinkedList$Entry.next]o16977:0 > -1 && o18054[LinkedList$Entry.next]o16975:0 > 0 && i5376:0 > 1 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (50) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub1405554520:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(o20328sub0:0), o20326[LinkedList$Entry.next]o20324:0, o18054[LinkedList$Entry.next]o18052:0, 1, o18054[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) :|: o18054[LinkedList$Entry.next]o16975:0 < o16977[LinkedList$Entry.next]o16975:0 && o16977[LinkedList$Entry.next]o16975:0 > -1 && o18054[LinkedList$Entry.next]o18052:0 < o16979[LinkedList$Entry.next]o16977:0 && o16979[LinkedList$Entry.next]o16977:0 > -1 && o18054[LinkedList$Entry.next]o16975:0 > 0 && i5376:0 > 1 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x5, x6, x) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(x7), x3, x8, x9, x10, x) :|: x4 > 0 && x5 > 0 && x6 > -1 && x10 < x6 && x8 < x4 && x9 > x5 && x10 > 0 && x11 > 1 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14), java.lang.Object(x15))), x16, x17, x18, x19, x12) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(x20), x16, x21, x22, x23, x12) :|: x17 > 0 && x18 > 0 && x22 > x18 && x19 > -1 && x23 < x19 && x21 < x17 && x24 > 1 && x23 > 0 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x25, java.lang.Object(x26)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x27))), x28, x29, x30, x31, x25) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x25, java.lang.Object(x26)))))))), java.lang.Object(x32), x28, x33, x34, x35, x25) :|: x29 > 0 && x30 > 0 && x34 > x30 && x31 > -1 && x35 < x31 && x33 < x29 && x36 > 1 && x35 > 0 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x37, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x38)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x39))), x40, x41, x41, x40, x37) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x37, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x38)))))))))), java.lang.Object(x42), x43, x44, 1, x45, x37) :|: x45 < x40 && x40 > -1 && x44 < x41 && x41 > -1 && x45 > 0 && x46 > 1 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x48), java.lang.Object(x49)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x50), java.lang.Object(x51))), x52, x53, x53, x52, x47) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x48), java.lang.Object(x49)))))))))), java.lang.Object(x54), x55, x56, 1, x57, x47) :|: x57 < x52 && x52 > -1 && x56 < x53 && x53 > -1 && x57 > 0 && x58 > 1 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (51) IRSFormatTransformerProof (EQUIVALENT) 37.72/13.07 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (52) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub1405554520:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(o20328sub0:0), o20326[LinkedList$Entry.next]o20324:0, o18054[LinkedList$Entry.next]o18052:0, 1, o18054[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) :|: o18054[LinkedList$Entry.next]o16975:0 < o16977[LinkedList$Entry.next]o16975:0 && o16977[LinkedList$Entry.next]o16975:0 > -1 && o18054[LinkedList$Entry.next]o18052:0 < o16979[LinkedList$Entry.next]o16977:0 && o16979[LinkedList$Entry.next]o16977:0 > -1 && o18054[LinkedList$Entry.next]o16975:0 > 0 && i5376:0 > 1 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x5, x6, x) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(x7), x3, x8, x9, x10, x) :|: x4 > 0 && x5 > 0 && x6 > -1 && x10 < x6 && x8 < x4 && x9 > x5 && x10 > 0 && x11 > 1 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14), java.lang.Object(x15))), x16, x17, x18, x19, x12) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(x20), x16, x21, x22, x23, x12) :|: x17 > 0 && x18 > 0 && x22 > x18 && x19 > -1 && x23 < x19 && x21 < x17 && x24 > 1 && x23 > 0 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x25, java.lang.Object(x26)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x27))), x28, x29, x30, x31, x25) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x25, java.lang.Object(x26)))))))), java.lang.Object(x32), x28, x33, x34, x35, x25) :|: x29 > 0 && x30 > 0 && x34 > x30 && x31 > -1 && x35 < x31 && x33 < x29 && x36 > 1 && x35 > 0 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x37, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x38)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x39))), x40, x41, x41, x40, x37) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x37, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x38)))))))))), java.lang.Object(x42), x43, x44, 1, x45, x37) :|: x45 < x40 && x40 > -1 && x44 < x41 && x41 > -1 && x45 > 0 && x46 > 1 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x48), java.lang.Object(x49)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x50), java.lang.Object(x51))), x52, x53, x53, x52, x47) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x48), java.lang.Object(x49)))))))))), java.lang.Object(x54), x55, x56, 1, x57, x47) :|: x57 < x52 && x52 > -1 && x56 < x53 && x53 > -1 && x57 > 0 && x58 > 1 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (53) IRSwTTerminationDigraphProof (EQUIVALENT) 37.72/13.07 Constructed termination digraph! 37.72/13.07 Nodes: 37.72/13.07 (1) f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub1405554520:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(o20328sub0:0), o20326[LinkedList$Entry.next]o20324:0, o18054[LinkedList$Entry.next]o18052:0, 1, o18054[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) :|: o18054[LinkedList$Entry.next]o16975:0 < o16977[LinkedList$Entry.next]o16975:0 && o16977[LinkedList$Entry.next]o16975:0 > -1 && o18054[LinkedList$Entry.next]o18052:0 < o16979[LinkedList$Entry.next]o16977:0 && o16979[LinkedList$Entry.next]o16977:0 > -1 && o18054[LinkedList$Entry.next]o16975:0 > 0 && i5376:0 > 1 37.72/13.07 (2) f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x5, x6, x) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(x7), x3, x8, x9, x10, x) :|: x4 > 0 && x5 > 0 && x6 > -1 && x10 < x6 && x8 < x4 && x9 > x5 && x10 > 0 && x11 > 1 37.72/13.07 (3) f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14), java.lang.Object(x15))), x16, x17, x18, x19, x12) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(x20), x16, x21, x22, x23, x12) :|: x17 > 0 && x18 > 0 && x22 > x18 && x19 > -1 && x23 < x19 && x21 < x17 && x24 > 1 && x23 > 0 37.72/13.07 (4) f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x25, java.lang.Object(x26)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x27))), x28, x29, x30, x31, x25) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x25, java.lang.Object(x26)))))))), java.lang.Object(x32), x28, x33, x34, x35, x25) :|: x29 > 0 && x30 > 0 && x34 > x30 && x31 > -1 && x35 < x31 && x33 < x29 && x36 > 1 && x35 > 0 37.72/13.07 (5) f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x37, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x38)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x39))), x40, x41, x41, x40, x37) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x37, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x38)))))))))), java.lang.Object(x42), x43, x44, 1, x45, x37) :|: x45 < x40 && x40 > -1 && x44 < x41 && x41 > -1 && x45 > 0 && x46 > 1 37.72/13.07 (6) f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x48), java.lang.Object(x49)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x50), java.lang.Object(x51))), x52, x53, x53, x52, x47) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x48), java.lang.Object(x49)))))))))), java.lang.Object(x54), x55, x56, 1, x57, x47) :|: x57 < x52 && x52 > -1 && x56 < x53 && x53 > -1 && x57 > 0 && x58 > 1 37.72/13.07 37.72/13.07 Arcs: 37.72/13.07 (1) -> (1), (2), (3), (4), (6) 37.72/13.07 (2) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (3) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (4) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (5) -> (2), (3), (4), (5) 37.72/13.07 (6) -> (1), (2), (3), (4), (6) 37.72/13.07 37.72/13.07 This digraph is fully evaluated! 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (54) 37.72/13.07 Obligation: 37.72/13.07 37.72/13.07 Termination digraph: 37.72/13.07 Nodes: 37.72/13.07 (1) f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub1405554520:0))), o16977[LinkedList$Entry.next]o16975:0, o16979[LinkedList$Entry.next]o16977:0, o16979[LinkedList$Entry.next]o16977:0, o16977[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub-81457583:0)))))))))), java.lang.Object(o20328sub0:0), o20326[LinkedList$Entry.next]o20324:0, o18054[LinkedList$Entry.next]o18052:0, 1, o18054[LinkedList$Entry.next]o16975:0, o16976-1487012103:0) :|: o18054[LinkedList$Entry.next]o16975:0 < o16977[LinkedList$Entry.next]o16975:0 && o16977[LinkedList$Entry.next]o16975:0 > -1 && o18054[LinkedList$Entry.next]o18052:0 < o16979[LinkedList$Entry.next]o16977:0 && o16979[LinkedList$Entry.next]o16977:0 > -1 && o18054[LinkedList$Entry.next]o16975:0 > 0 && i5376:0 > 1 37.72/13.07 (2) f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x5, x6, x) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(x7), x3, x8, x9, x10, x) :|: x4 > 0 && x5 > 0 && x6 > -1 && x10 < x6 && x8 < x4 && x9 > x5 && x10 > 0 && x11 > 1 37.72/13.07 (3) f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14), java.lang.Object(x15))), x16, x17, x18, x19, x12) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(x20), x16, x21, x22, x23, x12) :|: x17 > 0 && x18 > 0 && x22 > x18 && x19 > -1 && x23 < x19 && x21 < x17 && x24 > 1 && x23 > 0 37.72/13.07 (4) f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x25, java.lang.Object(x26)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x27))), x28, x29, x30, x31, x25) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x25, java.lang.Object(x26)))))))), java.lang.Object(x32), x28, x33, x34, x35, x25) :|: x29 > 0 && x30 > 0 && x34 > x30 && x31 > -1 && x35 < x31 && x33 < x29 && x36 > 1 && x35 > 0 37.72/13.07 (5) f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x48), java.lang.Object(x49)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x50), java.lang.Object(x51))), x52, x53, x53, x52, x47) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x48), java.lang.Object(x49)))))))))), java.lang.Object(x54), x55, x56, 1, x57, x47) :|: x57 < x52 && x52 > -1 && x56 < x53 && x53 > -1 && x57 > 0 && x58 > 1 37.72/13.07 (6) f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x37, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x38)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x39))), x40, x41, x41, x40, x37) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x37, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x38)))))))))), java.lang.Object(x42), x43, x44, 1, x45, x37) :|: x45 < x40 && x40 > -1 && x44 < x41 && x41 > -1 && x45 > 0 && x46 > 1 37.72/13.07 37.72/13.07 Arcs: 37.72/13.07 (1) -> (1), (2), (3), (4), (5) 37.72/13.07 (2) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (3) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (4) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (5) -> (1), (2), (3), (4), (5) 37.72/13.07 (6) -> (2), (3), (4), (6) 37.72/13.07 37.72/13.07 This digraph is fully evaluated! 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (55) IntTRSCompressionProof (EQUIVALENT) 37.72/13.07 Compressed rules. 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (56) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub-81457583:0:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub1405554520:0:0))), o16977[LinkedList$Entry.next]o16975:0:0, o16979[LinkedList$Entry.next]o16977:0:0, o16979[LinkedList$Entry.next]o16977:0:0, o16977[LinkedList$Entry.next]o16975:0:0, o16976-1487012103:0:0) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16976-1487012103:0:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18054sub-81457583:0:0)))))))))), java.lang.Object(o20328sub0:0:0), o20326[LinkedList$Entry.next]o20324:0:0, o18054[LinkedList$Entry.next]o18052:0:0, 1, o18054[LinkedList$Entry.next]o16975:0:0, o16976-1487012103:0:0) :|: o18054[LinkedList$Entry.next]o16975:0:0 > 0 && i5376:0:0 > 1 && o16979[LinkedList$Entry.next]o16977:0:0 > -1 && o18054[LinkedList$Entry.next]o18052:0:0 < o16979[LinkedList$Entry.next]o16977:0:0 && o16977[LinkedList$Entry.next]o16975:0:0 > -1 && o18054[LinkedList$Entry.next]o16975:0:0 < o16977[LinkedList$Entry.next]o16975:0:0 37.72/13.07 f8474_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(x1:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2:0))), x3:0, x4:0, x5:0, x6:0, x:0) -> f8474_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(x1:0)))))))), java.lang.Object(x7:0), x3:0, x8:0, x9:0, x10:0, x:0) :|: x10:0 > 0 && x11:0 > 1 && x9:0 > x5:0 && x8:0 < x4:0 && x6:0 > x10:0 && x6:0 > -1 && x5:0 > 0 && x4:0 > 0 37.72/13.07 f8474_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(javaUtilEx.LinkedList$Entry(java.lang.Object(x48:0), java.lang.Object(x49:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x50:0), java.lang.Object(x51:0))), x52:0, x53:0, x53:0, x52:0, x47:0) -> f8474_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(javaUtilEx.LinkedList$Entry(java.lang.Object(x48:0), java.lang.Object(x49:0)))))))))), java.lang.Object(x54:0), x55:0, x56:0, 1, x57:0, x47:0) :|: x57:0 > 0 && x58:0 > 1 && x53:0 > -1 && x56:0 < x53:0 && x52:0 > -1 && x57:0 < x52:0 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x25:0, java.lang.Object(x26:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x27:0))), x28:0, x29:0, x30:0, x31:0, x25:0) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x25:0, java.lang.Object(x26:0)))))))), java.lang.Object(x32:0), x28:0, x33:0, x34:0, x35:0, x25:0) :|: x36:0 > 1 && x35:0 > 0 && x33:0 < x29:0 && x35:0 < x31:0 && x31:0 > -1 && x34:0 > x30:0 && x30:0 > 0 && x29:0 > 0 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12:0, java.lang.Object(x13:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x14:0), java.lang.Object(x15:0))), x16:0, x17:0, x18:0, x19:0, x12:0) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12:0, java.lang.Object(x13:0)))))))), java.lang.Object(x20:0), x16:0, x21:0, x22:0, x23:0, x12:0) :|: x24:0 > 1 && x23:0 > 0 && x21:0 < x17:0 && x23:0 < x19:0 && x19:0 > -1 && x22:0 > x18:0 && x18:0 > 0 && x17:0 > 0 37.72/13.07 f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x37:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x38:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x39:0))), x40:0, x41:0, x41:0, x40:0, x37:0) -> f8474_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x37:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x38:0)))))))))), java.lang.Object(x42:0), x43:0, x44:0, 1, x45:0, x37:0) :|: x45:0 > 0 && x46:0 > 1 && x41:0 > -1 && x44:0 < x41:0 && x40:0 > -1 && x45:0 < x40:0 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (57) TempFilterProof (SOUND) 37.72/13.07 Used the following sort dictionary for filtering: 37.72/13.07 f8474_0_indexOf_EQ(VARIABLE, VARIABLE, VARIABLE, INTEGER, VARIABLE, INTEGER, VARIABLE) 37.72/13.07 java.lang.Object(VARIABLE) 37.72/13.07 javaUtilEx.AbstractCollection(VARIABLE) 37.72/13.07 javaUtilEx.AbstractList(VARIABLE) 37.72/13.07 javaUtilEx.AbstractSequentialList(VARIABLE) 37.72/13.07 javaUtilEx.LinkedList(VARIABLE) 37.72/13.07 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 37.72/13.07 javaUtilEx.Content() 37.72/13.07 NULL() 37.72/13.07 Replaced non-predefined constructor symbols by 0. 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (58) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f8474_0_indexOf_EQ(c, c1, o16977[LinkedList$Entry.next]o16975:0:0, o16979[LinkedList$Entry.next]o16977:0:0, o16979[LinkedList$Entry.next]o16977:0:0, o16977[LinkedList$Entry.next]o16975:0:0, o16976-1487012103:0:0) -> f8474_0_indexOf_EQ(c2, c3, o20326[LinkedList$Entry.next]o20324:0:0, o18054[LinkedList$Entry.next]o18052:0:0, c4, o18054[LinkedList$Entry.next]o16975:0:0, o16976-1487012103:0:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (o18054[LinkedList$Entry.next]o16975:0:0 > 0 && i5376:0:0 > 1 && o16979[LinkedList$Entry.next]o16977:0:0 > -1 && o18054[LinkedList$Entry.next]o18052:0:0 < o16979[LinkedList$Entry.next]o16977:0:0 && o16977[LinkedList$Entry.next]o16975:0:0 > -1 && o18054[LinkedList$Entry.next]o16975:0:0 < o16977[LinkedList$Entry.next]o16975:0:0) 37.72/13.07 f8474_0_indexOf_EQ(c5, c6, x3:0, x4:0, x5:0, x6:0, x:0) -> f8474_0_indexOf_EQ(c7, c8, x3:0, x8:0, x9:0, x10:0, x:0) :|: c8 = 0 && (c7 = 0 && (c6 = 0 && c5 = 0)) && (x10:0 > 0 && x11:0 > 1 && x9:0 > x5:0 && x8:0 < x4:0 && x6:0 > x10:0 && x6:0 > -1 && x5:0 > 0 && x4:0 > 0) 37.72/13.07 f8474_0_indexOf_EQ(c14, c15, x28:0, x29:0, x30:0, x31:0, x25:0) -> f8474_0_indexOf_EQ(c16, c17, x28:0, x33:0, x34:0, x35:0, x25:0) :|: c17 = 0 && (c16 = 0 && (c15 = 0 && c14 = 0)) && (x36:0 > 1 && x35:0 > 0 && x33:0 < x29:0 && x35:0 < x31:0 && x31:0 > -1 && x34:0 > x30:0 && x30:0 > 0 && x29:0 > 0) 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (59) PolynomialOrderProcessor (EQUIVALENT) 37.72/13.07 Found the following polynomial interpretation: 37.72/13.07 [f8474_0_indexOf_EQ(x, x1, x2, x3, x4, x5, x6)] = -1 + c*x + c1*x1 + 2*x3 37.72/13.07 37.72/13.07 The following rules are decreasing: 37.72/13.07 f8474_0_indexOf_EQ(c, c1, o16977[LinkedList$Entry.next]o16975:0:0, o16979[LinkedList$Entry.next]o16977:0:0, o16979[LinkedList$Entry.next]o16977:0:0, o16977[LinkedList$Entry.next]o16975:0:0, o16976-1487012103:0:0) -> f8474_0_indexOf_EQ(c2, c3, o20326[LinkedList$Entry.next]o20324:0:0, o18054[LinkedList$Entry.next]o18052:0:0, c4, o18054[LinkedList$Entry.next]o16975:0:0, o16976-1487012103:0:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (o18054[LinkedList$Entry.next]o16975:0:0 > 0 && i5376:0:0 > 1 && o16979[LinkedList$Entry.next]o16977:0:0 > -1 && o18054[LinkedList$Entry.next]o18052:0:0 < o16979[LinkedList$Entry.next]o16977:0:0 && o16977[LinkedList$Entry.next]o16975:0:0 > -1 && o18054[LinkedList$Entry.next]o16975:0:0 < o16977[LinkedList$Entry.next]o16975:0:0) 37.72/13.07 f8474_0_indexOf_EQ(c5, c6, x3:0, x4:0, x5:0, x6:0, x:0) -> f8474_0_indexOf_EQ(c7, c8, x3:0, x8:0, x9:0, x10:0, x:0) :|: c8 = 0 && (c7 = 0 && (c6 = 0 && c5 = 0)) && (x10:0 > 0 && x11:0 > 1 && x9:0 > x5:0 && x8:0 < x4:0 && x6:0 > x10:0 && x6:0 > -1 && x5:0 > 0 && x4:0 > 0) 37.72/13.07 f8474_0_indexOf_EQ(c14, c15, x28:0, x29:0, x30:0, x31:0, x25:0) -> f8474_0_indexOf_EQ(c16, c17, x28:0, x33:0, x34:0, x35:0, x25:0) :|: c17 = 0 && (c16 = 0 && (c15 = 0 && c14 = 0)) && (x36:0 > 1 && x35:0 > 0 && x33:0 < x29:0 && x35:0 < x31:0 && x31:0 > -1 && x34:0 > x30:0 && x30:0 > 0 && x29:0 > 0) 37.72/13.07 The following rules are bounded: 37.72/13.07 f8474_0_indexOf_EQ(c5, c6, x3:0, x4:0, x5:0, x6:0, x:0) -> f8474_0_indexOf_EQ(c7, c8, x3:0, x8:0, x9:0, x10:0, x:0) :|: c8 = 0 && (c7 = 0 && (c6 = 0 && c5 = 0)) && (x10:0 > 0 && x11:0 > 1 && x9:0 > x5:0 && x8:0 < x4:0 && x6:0 > x10:0 && x6:0 > -1 && x5:0 > 0 && x4:0 > 0) 37.72/13.07 f8474_0_indexOf_EQ(c14, c15, x28:0, x29:0, x30:0, x31:0, x25:0) -> f8474_0_indexOf_EQ(c16, c17, x28:0, x33:0, x34:0, x35:0, x25:0) :|: c17 = 0 && (c16 = 0 && (c15 = 0 && c14 = 0)) && (x36:0 > 1 && x35:0 > 0 && x33:0 < x29:0 && x35:0 < x31:0 && x31:0 > -1 && x34:0 > x30:0 && x30:0 > 0 && x29:0 > 0) 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (60) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f8474_0_indexOf_EQ(c, c1, o16977[LinkedList$Entry.next]o16975:0:0, o16979[LinkedList$Entry.next]o16977:0:0, o16979[LinkedList$Entry.next]o16977:0:0, o16977[LinkedList$Entry.next]o16975:0:0, o16976-1487012103:0:0) -> f8474_0_indexOf_EQ(c2, c3, o20326[LinkedList$Entry.next]o20324:0:0, o18054[LinkedList$Entry.next]o18052:0:0, c4, o18054[LinkedList$Entry.next]o16975:0:0, o16976-1487012103:0:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (o18054[LinkedList$Entry.next]o16975:0:0 > 0 && i5376:0:0 > 1 && o16979[LinkedList$Entry.next]o16977:0:0 > -1 && o18054[LinkedList$Entry.next]o18052:0:0 < o16979[LinkedList$Entry.next]o16977:0:0 && o16977[LinkedList$Entry.next]o16975:0:0 > -1 && o18054[LinkedList$Entry.next]o16975:0:0 < o16977[LinkedList$Entry.next]o16975:0:0) 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (61) PolynomialOrderProcessor (EQUIVALENT) 37.72/13.07 Found the following polynomial interpretation: 37.72/13.07 [f8474_0_indexOf_EQ(x, x1, x2, x3, x4, x5, x6)] = c*x + c1*x1 + x5 37.72/13.07 37.72/13.07 The following rules are decreasing: 37.72/13.07 f8474_0_indexOf_EQ(c, c1, o16977[LinkedList$Entry.next]o16975:0:0, o16979[LinkedList$Entry.next]o16977:0:0, o16979[LinkedList$Entry.next]o16977:0:0, o16977[LinkedList$Entry.next]o16975:0:0, o16976-1487012103:0:0) -> f8474_0_indexOf_EQ(c2, c3, o20326[LinkedList$Entry.next]o20324:0:0, o18054[LinkedList$Entry.next]o18052:0:0, c4, o18054[LinkedList$Entry.next]o16975:0:0, o16976-1487012103:0:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (o18054[LinkedList$Entry.next]o16975:0:0 > 0 && i5376:0:0 > 1 && o16979[LinkedList$Entry.next]o16977:0:0 > -1 && o18054[LinkedList$Entry.next]o18052:0:0 < o16979[LinkedList$Entry.next]o16977:0:0 && o16977[LinkedList$Entry.next]o16975:0:0 > -1 && o18054[LinkedList$Entry.next]o16975:0:0 < o16977[LinkedList$Entry.next]o16975:0:0) 37.72/13.07 The following rules are bounded: 37.72/13.07 f8474_0_indexOf_EQ(c, c1, o16977[LinkedList$Entry.next]o16975:0:0, o16979[LinkedList$Entry.next]o16977:0:0, o16979[LinkedList$Entry.next]o16977:0:0, o16977[LinkedList$Entry.next]o16975:0:0, o16976-1487012103:0:0) -> f8474_0_indexOf_EQ(c2, c3, o20326[LinkedList$Entry.next]o20324:0:0, o18054[LinkedList$Entry.next]o18052:0:0, c4, o18054[LinkedList$Entry.next]o16975:0:0, o16976-1487012103:0:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (o18054[LinkedList$Entry.next]o16975:0:0 > 0 && i5376:0:0 > 1 && o16979[LinkedList$Entry.next]o16977:0:0 > -1 && o18054[LinkedList$Entry.next]o18052:0:0 < o16979[LinkedList$Entry.next]o16977:0:0 && o16977[LinkedList$Entry.next]o16975:0:0 > -1 && o18054[LinkedList$Entry.next]o16975:0:0 < o16977[LinkedList$Entry.next]o16975:0:0) 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (62) 37.72/13.07 YES 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (63) 37.72/13.07 Obligation: 37.72/13.07 SCC of termination graph based on JBC Program. 37.72/13.07 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateIndexOf.main([Ljava/lang/String;)V 37.72/13.07 SCC calls the following helper methods: javaUtilEx.Content.equals(Ljava/lang/Object;)Z 37.72/13.07 Performed SCC analyses: 37.72/13.07 *Used field analysis yielded the following read fields: 37.72/13.07 *javaUtilEx.LinkedList$Entry: [element, next] 37.72/13.07 *javaUtilEx.LinkedList: [header] 37.72/13.07 *Marker field analysis yielded the following relations that could be markers: 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (64) SCCToIRSProof (SOUND) 37.72/13.07 Transformed FIGraph SCCs to intTRSs. Log: 37.72/13.07 Generated rules. Obtained 65 IRulesP rules: 37.72/13.07 f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), java.lang.Object(o16847sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845, java.lang.Object(o16844sub1403944845))), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847, o16847[LinkedList$Entry.next]o16842) -> 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, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847, o16847[LinkedList$Entry.next]o16842) :|: TRUE 37.72/13.07 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, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847, o16847[LinkedList$Entry.next]o16842) -> f8508_0_indexOf_Load(EOS(STATIC_8508), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), java.lang.Object(javaUtilEx.Content(EOC)), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847, o16847[LinkedList$Entry.next]o16842) :|: TRUE 37.72/13.07 f8508_0_indexOf_Load(EOS(STATIC_8508), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), java.lang.Object(javaUtilEx.Content(EOC)), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847, o16847[LinkedList$Entry.next]o16842) -> f8525_0_indexOf_FieldAccess(EOS(STATIC_8525), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847, o16847[LinkedList$Entry.next]o16842) :|: TRUE 37.72/13.07 f8525_0_indexOf_FieldAccess(EOS(STATIC_8525), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847, o16847[LinkedList$Entry.next]o16842) -> f8538_0_indexOf_FieldAccess(EOS(STATIC_8538), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o16847, o16847[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844) :|: o16847[LinkedList$Entry.next]o16844 > 0 && o16844[LinkedList$Entry.next]o16847 > 0 37.72/13.07 f8525_0_indexOf_FieldAccess(EOS(STATIC_8525), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o18024sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18024sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18024sub0), o16845[LinkedList$Entry.previous]o16842, o18024[LinkedList$Entry.next]o16842, o18024[LinkedList$Entry.next]o18024, o18024[LinkedList$Entry.next]o18024, o18024[LinkedList$Entry.next]o16842) -> f8539_0_indexOf_FieldAccess(EOS(STATIC_8539), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o18024sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18024sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18024sub0), o16845[LinkedList$Entry.previous]o16842, o18024[LinkedList$Entry.next]o16842, o18024[LinkedList$Entry.next]o18024) :|: TRUE 37.72/13.07 f8538_0_indexOf_FieldAccess(EOS(STATIC_8538), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497, java.lang.Object(o18042sub1405553497))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497, java.lang.Object(o18042sub1405553497))), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18040[LinkedList$Entry.next]o16842, o18040[LinkedList$Entry.next]o16844) -> f8551_0_indexOf_FieldAccess(EOS(STATIC_8551), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497, java.lang.Object(o18042sub1405553497))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497, java.lang.Object(o18042sub1405553497))), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) :|: o18042[LinkedList$Entry.next]o16842 < o18040[LinkedList$Entry.next]o16842 && o18040[LinkedList$Entry.next]o16842 >= 0 && o18042[LinkedList$Entry.next]o16844 < o18040[LinkedList$Entry.next]o16844 && o18040[LinkedList$Entry.next]o16844 >= 0 37.72/13.07 f8551_0_indexOf_FieldAccess(EOS(STATIC_8551), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497, java.lang.Object(o18042sub1405553497))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497, java.lang.Object(o18042sub1405553497))), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) -> f8562_0_indexOf_InvokeMethod(EOS(STATIC_8562), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497, java.lang.Object(o18042sub1405553497))), java.lang.Object(javaUtilEx.Content(EOC)), o180410, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) :|: TRUE 37.72/13.07 f8562_0_indexOf_InvokeMethod(EOS(STATIC_8562), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497, java.lang.Object(o18042sub1405553497))), java.lang.Object(javaUtilEx.Content(EOC)), o180410, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) -> f8574_0_equals_Load(EOS(STATIC_8574), java.lang.Object(javaUtilEx.Content(EOC)), o180410, java.lang.Object(o16844sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845, java.lang.Object(o16844sub1403944845))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497, java.lang.Object(o18042sub1405553497))), java.lang.Object(o18042sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180410, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) :|: i5336 > 1 37.72/13.07 f8562_0_indexOf_InvokeMethod(EOS(STATIC_8562), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497, java.lang.Object(o18042sub1405553497))), java.lang.Object(javaUtilEx.Content(EOC)), o180410, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) -> f8574_1_equals_Load(EOS(STATIC_8574), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497, java.lang.Object(o18042sub1405553497))), java.lang.Object(javaUtilEx.Content(EOC)), o180410, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) :|: i5336 > 1 37.72/13.07 f8574_0_equals_Load(EOS(STATIC_8574), java.lang.Object(javaUtilEx.Content(EOC)), o180410, java.lang.Object(o16844sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845, java.lang.Object(o16844sub1403944845))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497, java.lang.Object(o18042sub1405553497))), java.lang.Object(o18042sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180410, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) -> f10526_0_equals_Load(EOS(STATIC_10526), java.lang.Object(javaUtilEx.Content(EOC)), o180410, java.lang.Object(o16844sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845, java.lang.Object(o16844sub1403944845))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497, java.lang.Object(o18042sub1405553497))), java.lang.Object(o18042sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180410, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) :|: TRUE 37.72/13.07 f8647_0_equals_Return(EOS(STATIC_8647), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18042sub1405553497))), matching1, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) -> f8649_0_equals_Return(EOS(STATIC_8649), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18042sub1405553497))), 0, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) :|: TRUE && matching1 = 0 37.72/13.07 f8649_0_equals_Return(EOS(STATIC_8649), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188281405790120, java.lang.Object(o18829sub1405790120))), matching1, o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18824[LinkedList$Entry.next]o18827, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824) -> f8673_0_indexOf_EQ(EOS(STATIC_8673), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188281405790120, java.lang.Object(o18829sub1405790120))), 0, o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18824[LinkedList$Entry.next]o18827, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824) :|: TRUE && matching1 = 0 37.72/13.07 f8673_0_indexOf_EQ(EOS(STATIC_8673), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188281405790120, java.lang.Object(o18829sub1405790120))), matching1, o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18824[LinkedList$Entry.next]o18827, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824) -> f8688_0_indexOf_Inc(EOS(STATIC_8688), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188281405790120, java.lang.Object(o18829sub1405790120))), o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18824[LinkedList$Entry.next]o18827, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824) :|: TRUE && matching1 = 0 37.72/13.07 f8688_0_indexOf_Inc(EOS(STATIC_8688), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188281405790120, java.lang.Object(o18829sub1405790120))), o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18824[LinkedList$Entry.next]o18827, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824) -> f8703_0_indexOf_Load(EOS(STATIC_8703), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188281405790120, java.lang.Object(o18829sub1405790120))), o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18824[LinkedList$Entry.next]o18827, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824) :|: TRUE 37.72/13.07 f8703_0_indexOf_Load(EOS(STATIC_8703), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188281405790120, java.lang.Object(o18829sub1405790120))), o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18824[LinkedList$Entry.next]o18827, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824) -> f8719_0_indexOf_FieldAccess(EOS(STATIC_8719), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188281405790120, java.lang.Object(o18829sub1405790120))), o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18824[LinkedList$Entry.next]o18827, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824) :|: TRUE 37.72/13.07 f8719_0_indexOf_FieldAccess(EOS(STATIC_8719), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188281405790120, java.lang.Object(o18829sub1405790120))), o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18824[LinkedList$Entry.next]o18827, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824) -> f8730_0_indexOf_Store(EOS(STATIC_8730), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18829sub0), o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824, o18824[LinkedList$Entry.next]o18829) :|: o18824[LinkedList$Entry.next]o18829 > o18824[LinkedList$Entry.next]o18827 && o18824[LinkedList$Entry.next]o18827 >= 0 37.72/13.07 f8730_0_indexOf_Store(EOS(STATIC_8730), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18829sub0), o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824, o18824[LinkedList$Entry.next]o18829) -> f8744_0_indexOf_JMP(EOS(STATIC_8744), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18829sub0), o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824, o18824[LinkedList$Entry.next]o18829) :|: TRUE 37.72/13.07 f8744_0_indexOf_JMP(EOS(STATIC_8744), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18829sub0), o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824, o18824[LinkedList$Entry.next]o18829) -> f8766_0_indexOf_Load(EOS(STATIC_8766), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18829sub0), o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824, o18824[LinkedList$Entry.next]o18829) :|: TRUE 37.72/13.07 f8766_0_indexOf_Load(EOS(STATIC_8766), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18829sub0), o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824, o18824[LinkedList$Entry.next]o18829) -> f8416_0_indexOf_Load(EOS(STATIC_8416), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18823-1483387397, java.lang.Object(o18824sub-1483387397)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18829sub0), o18825[LinkedList$Entry.previous]o18822, o18824[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18822, o18829[LinkedList$Entry.next]o18824, o18824[LinkedList$Entry.next]o18829) :|: TRUE 37.72/13.07 f8416_0_indexOf_Load(EOS(STATIC_8416), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847) -> f8428_0_indexOf_Load(EOS(STATIC_8428), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), java.lang.Object(o16847sub0), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847) :|: TRUE 37.72/13.07 f8428_0_indexOf_Load(EOS(STATIC_8428), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), java.lang.Object(o16847sub0), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847) -> f8441_0_indexOf_FieldAccess(EOS(STATIC_8441), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), java.lang.Object(o16847sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847) :|: TRUE 37.72/13.07 f8441_0_indexOf_FieldAccess(EOS(STATIC_8441), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), java.lang.Object(o16847sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847) -> 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, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), java.lang.Object(o16847sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845, java.lang.Object(o16844sub1403944845))), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847) :|: TRUE 37.72/13.07 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, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), java.lang.Object(o16847sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845, java.lang.Object(o16844sub1403944845))), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847) -> f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16847sub0), java.lang.Object(o16847sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845, java.lang.Object(o16844sub1403944845))), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16847[LinkedList$Entry.next]o16844, o16844[LinkedList$Entry.next]o16847, o16847[LinkedList$Entry.next]o16842) :|: o16847[LinkedList$Entry.next]o16842 > 0 37.72/13.07 f8648_0_equals_Return(EOS(STATIC_8648), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18611sub1405553497), java.lang.Object(o18042sub1405553497))), matching1, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) -> f8649_0_equals_Return(EOS(STATIC_8649), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18611sub1405553497), java.lang.Object(o18042sub1405553497))), 0, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) :|: TRUE && matching1 = 0 37.72/13.07 f8734_0_equals_Return(EOS(STATIC_8734), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18042sub1405553497))), matching1, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) -> f8753_0_equals_Return(EOS(STATIC_8753), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18042sub1405553497))), 0, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) :|: TRUE && matching1 = 0 37.72/13.07 f8753_0_equals_Return(EOS(STATIC_8753), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20274-1441253251, java.lang.Object(o20275sub-1441253251)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub1426857193))), i6084, o20276[LinkedList$Entry.previous]o20273, o20275[LinkedList$Entry.next]o20273, o20275[LinkedList$Entry.next]o20278, o20280[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20275) -> f8770_0_indexOf_EQ(EOS(STATIC_8770), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20274-1441253251, java.lang.Object(o20275sub-1441253251)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub1426857193))), i6084, o20276[LinkedList$Entry.previous]o20273, o20275[LinkedList$Entry.next]o20273, o20275[LinkedList$Entry.next]o20278, o20280[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20275) :|: TRUE 37.72/13.07 f8770_0_indexOf_EQ(EOS(STATIC_8770), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20274-1441253251, java.lang.Object(o20275sub-1441253251)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub1426857193))), matching1, o20276[LinkedList$Entry.previous]o20273, o20275[LinkedList$Entry.next]o20273, o20275[LinkedList$Entry.next]o20278, o20280[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20275) -> f8785_0_indexOf_EQ(EOS(STATIC_8785), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20274-1441253251, java.lang.Object(o20275sub-1441253251)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub1426857193))), 0, o20276[LinkedList$Entry.previous]o20273, o20275[LinkedList$Entry.next]o20273, o20275[LinkedList$Entry.next]o20278, o20280[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20275) :|: TRUE && matching1 = 0 37.72/13.07 f8785_0_indexOf_EQ(EOS(STATIC_8785), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20274-1441253251, java.lang.Object(o20275sub-1441253251)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub1426857193))), matching1, o20276[LinkedList$Entry.previous]o20273, o20275[LinkedList$Entry.next]o20273, o20275[LinkedList$Entry.next]o20278, o20280[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20275) -> f8803_0_indexOf_Inc(EOS(STATIC_8803), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20274-1441253251, java.lang.Object(o20275sub-1441253251)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub1426857193))), o20276[LinkedList$Entry.previous]o20273, o20275[LinkedList$Entry.next]o20273, o20275[LinkedList$Entry.next]o20278, o20280[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20275) :|: TRUE && matching1 = 0 37.72/13.07 f8803_0_indexOf_Inc(EOS(STATIC_8803), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20274-1441253251, java.lang.Object(o20275sub-1441253251)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub1426857193))), o20276[LinkedList$Entry.previous]o20273, o20275[LinkedList$Entry.next]o20273, o20275[LinkedList$Entry.next]o20278, o20280[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20275) -> f8818_0_indexOf_Load(EOS(STATIC_8818), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20274-1441253251, java.lang.Object(o20275sub-1441253251)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub1426857193))), o20276[LinkedList$Entry.previous]o20273, o20275[LinkedList$Entry.next]o20273, o20275[LinkedList$Entry.next]o20278, o20280[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20275) :|: TRUE 37.72/13.07 f8818_0_indexOf_Load(EOS(STATIC_8818), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20274-1441253251, java.lang.Object(o20275sub-1441253251)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub1426857193))), o20276[LinkedList$Entry.previous]o20273, o20275[LinkedList$Entry.next]o20273, o20275[LinkedList$Entry.next]o20278, o20280[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20275) -> f8832_0_indexOf_FieldAccess(EOS(STATIC_8832), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20274-1441253251, java.lang.Object(o20275sub-1441253251)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub1426857193))), o20276[LinkedList$Entry.previous]o20273, o20275[LinkedList$Entry.next]o20273, o20275[LinkedList$Entry.next]o20278, o20280[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20275) :|: TRUE 37.72/13.07 f8832_0_indexOf_FieldAccess(EOS(STATIC_8832), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20274-1441253251, java.lang.Object(o20275sub-1441253251)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub1426857193))), o20276[LinkedList$Entry.previous]o20273, o20275[LinkedList$Entry.next]o20273, o20275[LinkedList$Entry.next]o20278, o20280[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20275) -> f8848_0_indexOf_Store(EOS(STATIC_8848), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20274-1441253251, java.lang.Object(o20275sub-1441253251)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub0), o20276[LinkedList$Entry.previous]o20273, o20275[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20275, o20275[LinkedList$Entry.next]o20280) :|: o20275[LinkedList$Entry.next]o20280 > o20275[LinkedList$Entry.next]o20278 && o20275[LinkedList$Entry.next]o20278 >= 0 37.72/13.07 f8848_0_indexOf_Store(EOS(STATIC_8848), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20274-1441253251, java.lang.Object(o20275sub-1441253251)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub0), o20276[LinkedList$Entry.previous]o20273, o20275[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20275, o20275[LinkedList$Entry.next]o20280) -> f8730_0_indexOf_Store(EOS(STATIC_8730), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20274-1441253251, java.lang.Object(o20275sub-1441253251)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub0), o20276[LinkedList$Entry.previous]o20273, o20275[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20273, o20280[LinkedList$Entry.next]o20275, o20275[LinkedList$Entry.next]o20280) :|: TRUE 37.72/13.07 f8752_0_equals_Return(EOS(STATIC_8752), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18042sub1405553497))), matching1, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) -> f8753_0_equals_Return(EOS(STATIC_8753), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18042sub1405553497))), 1, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) :|: TRUE && matching1 = 1 37.72/13.07 f8539_0_indexOf_FieldAccess(EOS(STATIC_8539), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-81524016, java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621, java.lang.Object(o18046sub1405553621))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621, java.lang.Object(o18046sub1405553621))), o16845[LinkedList$Entry.previous]o16842, o18044[LinkedList$Entry.next]o16842, o18044[LinkedList$Entry.next]o18044) -> f8552_0_indexOf_FieldAccess(EOS(STATIC_8552), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-81524016, java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621, java.lang.Object(o18046sub1405553621))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621, java.lang.Object(o18046sub1405553621))), o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) :|: o18046[LinkedList$Entry.next]o16842 < o18044[LinkedList$Entry.next]o16842 && o18044[LinkedList$Entry.next]o16842 >= 0 && o18046[LinkedList$Entry.next]o18044 < o18044[LinkedList$Entry.next]o18044 && o18044[LinkedList$Entry.next]o18044 >= 0 37.72/13.07 f8552_0_indexOf_FieldAccess(EOS(STATIC_8552), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-81524016, java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621, java.lang.Object(o18046sub1405553621))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621, java.lang.Object(o18046sub1405553621))), o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) -> f8563_0_indexOf_InvokeMethod(EOS(STATIC_8563), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-81524016, java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621, java.lang.Object(o18046sub1405553621))), java.lang.Object(javaUtilEx.Content(EOC)), o180450, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) :|: TRUE 37.72/13.07 f8563_0_indexOf_InvokeMethod(EOS(STATIC_8563), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-81524016, java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621, java.lang.Object(o18046sub1405553621))), java.lang.Object(javaUtilEx.Content(EOC)), o180450, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) -> f8575_0_equals_Load(EOS(STATIC_8575), java.lang.Object(javaUtilEx.Content(EOC)), o180450, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-1485468830, java.lang.Object(o18046sub-1485468830))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621, java.lang.Object(o18046sub1405553621))), java.lang.Object(o18046sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-81524016, java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180450, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) :|: i5336 > 1 37.72/13.07 f8563_0_indexOf_InvokeMethod(EOS(STATIC_8563), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-81524016, java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621, java.lang.Object(o18046sub1405553621))), java.lang.Object(javaUtilEx.Content(EOC)), o180450, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) -> f8575_1_equals_Load(EOS(STATIC_8575), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-81524016, java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621, java.lang.Object(o18046sub1405553621))), java.lang.Object(javaUtilEx.Content(EOC)), o180450, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) :|: i5336 > 1 37.72/13.07 f8575_0_equals_Load(EOS(STATIC_8575), java.lang.Object(javaUtilEx.Content(EOC)), o180450, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-1485468830, java.lang.Object(o18046sub-1485468830))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621, java.lang.Object(o18046sub1405553621))), java.lang.Object(o18046sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-81524016, java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180450, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) -> f10606_0_equals_Load(EOS(STATIC_10606), java.lang.Object(javaUtilEx.Content(EOC)), o180450, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-1485468830, java.lang.Object(o18046sub-1485468830))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621, java.lang.Object(o18046sub1405553621))), java.lang.Object(o18046sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-81524016, java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180450, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) :|: TRUE 37.72/13.07 f8651_0_equals_Return(EOS(STATIC_8651), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18046sub1405553621))), matching1, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) -> f8653_0_equals_Return(EOS(STATIC_8653), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18046sub1405553621))), 0, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) :|: TRUE && matching1 = 0 37.72/13.07 f8653_0_equals_Return(EOS(STATIC_8653), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18856-1483381445, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18858-77588442, java.lang.Object(o18859sub-77588442)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188581405793003, java.lang.Object(o18859sub1405793003))), matching1, o18861[LinkedList$Entry.previous]o18855, o18859[LinkedList$Entry.next]o18855, o18859[LinkedList$Entry.next]o18857) -> f8674_0_indexOf_EQ(EOS(STATIC_8674), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18856-1483381445, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18858-77588442, java.lang.Object(o18859sub-77588442)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188581405793003, java.lang.Object(o18859sub1405793003))), 0, o18861[LinkedList$Entry.previous]o18855, o18859[LinkedList$Entry.next]o18855, o18859[LinkedList$Entry.next]o18857) :|: TRUE && matching1 = 0 37.72/13.07 f8674_0_indexOf_EQ(EOS(STATIC_8674), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18856-1483381445, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18858-77588442, java.lang.Object(o18859sub-77588442)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188581405793003, java.lang.Object(o18859sub1405793003))), matching1, o18861[LinkedList$Entry.previous]o18855, o18859[LinkedList$Entry.next]o18855, o18859[LinkedList$Entry.next]o18857) -> f8689_0_indexOf_Inc(EOS(STATIC_8689), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18856-1483381445, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18858-77588442, java.lang.Object(o18859sub-77588442)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188581405793003, java.lang.Object(o18859sub1405793003))), o18861[LinkedList$Entry.previous]o18855, o18859[LinkedList$Entry.next]o18855, o18859[LinkedList$Entry.next]o18857) :|: TRUE && matching1 = 0 37.72/13.07 f8689_0_indexOf_Inc(EOS(STATIC_8689), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18856-1483381445, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18858-77588442, java.lang.Object(o18859sub-77588442)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188581405793003, java.lang.Object(o18859sub1405793003))), o18861[LinkedList$Entry.previous]o18855, o18859[LinkedList$Entry.next]o18855, o18859[LinkedList$Entry.next]o18857) -> f8704_0_indexOf_Load(EOS(STATIC_8704), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18856-1483381445, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18858-77588442, java.lang.Object(o18859sub-77588442)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188581405793003, java.lang.Object(o18859sub1405793003))), o18861[LinkedList$Entry.previous]o18855, o18859[LinkedList$Entry.next]o18855, o18859[LinkedList$Entry.next]o18857) :|: TRUE 37.72/13.07 f8704_0_indexOf_Load(EOS(STATIC_8704), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18856-1483381445, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18858-77588442, java.lang.Object(o18859sub-77588442)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188581405793003, java.lang.Object(o18859sub1405793003))), o18861[LinkedList$Entry.previous]o18855, o18859[LinkedList$Entry.next]o18855, o18859[LinkedList$Entry.next]o18857) -> f8720_0_indexOf_FieldAccess(EOS(STATIC_8720), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18856-1483381445, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18858-77588442, java.lang.Object(o18859sub-77588442)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188581405793003, java.lang.Object(o18859sub1405793003))), o18861[LinkedList$Entry.previous]o18855, o18859[LinkedList$Entry.next]o18855, o18859[LinkedList$Entry.next]o18857) :|: TRUE 37.72/13.07 f8720_0_indexOf_FieldAccess(EOS(STATIC_8720), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18856-1483381445, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18858-77588442, java.lang.Object(o18859sub-77588442)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188581405793003, java.lang.Object(o18859sub1405793003))), o18861[LinkedList$Entry.previous]o18855, o18859[LinkedList$Entry.next]o18855, o18859[LinkedList$Entry.next]o18857) -> f8731_0_indexOf_Store(EOS(STATIC_8731), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18856-1483381445, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18858-77588442, java.lang.Object(o18859sub-77588442)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18859sub0), o18861[LinkedList$Entry.previous]o18855, o18859[LinkedList$Entry.next]o18855, o18859[LinkedList$Entry.next]o18857) :|: TRUE 37.72/13.07 f8731_0_indexOf_Store(EOS(STATIC_8731), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18856-1483381445, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18858-77588442, java.lang.Object(o18859sub-77588442)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18859sub0), o18861[LinkedList$Entry.previous]o18855, o18859[LinkedList$Entry.next]o18855, o18859[LinkedList$Entry.next]o18857) -> f8848_0_indexOf_Store(EOS(STATIC_8848), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18856-1483381445, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18858-77588442, java.lang.Object(o18859sub-77588442)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18859sub0), o18861[LinkedList$Entry.previous]o18855, o18857[LinkedList$Entry.next]o18855, o18859[LinkedList$Entry.next]o18855, o18859[LinkedList$Entry.next]o18857, o18857[LinkedList$Entry.next]o18859) :|: o18857[LinkedList$Entry.next]o18859 = 1 37.72/13.07 f8652_0_equals_Return(EOS(STATIC_8652), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18663sub-81524016), java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18663sub1405553621), java.lang.Object(o18046sub1405553621))), matching1, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) -> f8653_0_equals_Return(EOS(STATIC_8653), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18663sub-81524016), java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18663sub1405553621), java.lang.Object(o18046sub1405553621))), 0, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) :|: TRUE && matching1 = 0 37.72/13.07 f8735_0_equals_Return(EOS(STATIC_8735), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub1405553621))), matching1, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) -> f8755_0_equals_Return(EOS(STATIC_8755), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub1405553621))), 0, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) :|: TRUE && matching1 = 0 37.72/13.07 f8755_0_equals_Return(EOS(STATIC_8755), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub1426858061))), i6090, o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) -> f8771_0_indexOf_EQ(EOS(STATIC_8771), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub1426858061))), i6090, o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) :|: TRUE 37.72/13.07 f8771_0_indexOf_EQ(EOS(STATIC_8771), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub1426858061))), matching1, o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) -> f8787_0_indexOf_EQ(EOS(STATIC_8787), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub1426858061))), 0, o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) :|: TRUE && matching1 = 0 37.72/13.07 f8787_0_indexOf_EQ(EOS(STATIC_8787), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub1426858061))), matching1, o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) -> f8805_0_indexOf_Inc(EOS(STATIC_8805), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub1426858061))), o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) :|: TRUE && matching1 = 0 37.72/13.07 f8805_0_indexOf_Inc(EOS(STATIC_8805), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub1426858061))), o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) -> f8819_0_indexOf_Load(EOS(STATIC_8819), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub1426858061))), o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) :|: TRUE 37.72/13.07 f8819_0_indexOf_Load(EOS(STATIC_8819), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub1426858061))), o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) -> f8833_0_indexOf_FieldAccess(EOS(STATIC_8833), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub1426858061))), o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) :|: TRUE 37.72/13.07 f8833_0_indexOf_FieldAccess(EOS(STATIC_8833), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub1426858061))), o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) -> f8849_0_indexOf_Store(EOS(STATIC_8849), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub0), o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) :|: TRUE 37.72/13.07 f8849_0_indexOf_Store(EOS(STATIC_8849), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub0), o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) -> f8862_0_indexOf_JMP(EOS(STATIC_8862), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub0), o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) :|: TRUE 37.72/13.07 f8862_0_indexOf_JMP(EOS(STATIC_8862), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub0), o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) -> f8878_0_indexOf_Load(EOS(STATIC_8878), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub0), o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) :|: TRUE 37.72/13.07 f8878_0_indexOf_Load(EOS(STATIC_8878), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub0), o20289[LinkedList$Entry.previous]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285) -> f8416_0_indexOf_Load(EOS(STATIC_8416), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20284-1441251329, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub-14393268)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub0), o20289[LinkedList$Entry.previous]o20283, o20285[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20283, o20287[LinkedList$Entry.next]o20285, o20285[LinkedList$Entry.next]o20287) :|: o20285[LinkedList$Entry.next]o20287 = 1 37.72/13.07 f8754_0_equals_Return(EOS(STATIC_8754), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub1405553621))), matching1, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) -> f8755_0_equals_Return(EOS(STATIC_8755), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub1405553621))), 1, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) :|: TRUE && matching1 = 1 37.72/13.07 f8574_1_equals_Load(EOS(STATIC_8574), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18042sub1405553497))), java.lang.Object(javaUtilEx.Content(EOC)), NULL, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) -> f8647_0_equals_Return(EOS(STATIC_8647), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18042sub1405553497))), 0, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) :|: TRUE 37.72/13.07 f8574_1_equals_Load(EOS(STATIC_8574), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18611sub1405553497), java.lang.Object(o18042sub1405553497))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18611sub0), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) -> f8648_0_equals_Return(EOS(STATIC_8648), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18611sub1405553497), java.lang.Object(o18042sub1405553497))), 0, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) :|: TRUE 37.72/13.07 f8574_1_equals_Load(EOS(STATIC_8574), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18042sub1405553497))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) -> f8734_0_equals_Return(EOS(STATIC_8734), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18042sub1405553497))), 0, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) :|: TRUE 37.72/13.07 f8574_1_equals_Load(EOS(STATIC_8574), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18042sub1405553497))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) -> f8752_0_equals_Return(EOS(STATIC_8752), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(o16844sub-1487077637)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18042sub1405553497))), 1, o16845[LinkedList$Entry.previous]o16842, o16844[LinkedList$Entry.next]o16842, o16844[LinkedList$Entry.next]o18040, o18042[LinkedList$Entry.next]o16842, o18042[LinkedList$Entry.next]o16844) :|: TRUE 37.72/13.07 f8575_1_equals_Load(EOS(STATIC_8575), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18046sub1405553621))), java.lang.Object(javaUtilEx.Content(EOC)), NULL, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) -> f8651_0_equals_Return(EOS(STATIC_8651), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18046sub1405553621))), 0, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) :|: TRUE 37.72/13.07 f8575_1_equals_Load(EOS(STATIC_8575), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18663sub-81524016), java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18663sub1405553621), java.lang.Object(o18046sub1405553621))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18663sub0), o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) -> f8652_0_equals_Return(EOS(STATIC_8652), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18663sub-81524016), java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18663sub1405553621), java.lang.Object(o18046sub1405553621))), 0, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) :|: TRUE 37.72/13.07 f8575_1_equals_Load(EOS(STATIC_8575), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub1405553621))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) -> f8735_0_equals_Return(EOS(STATIC_8735), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub1405553621))), 0, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) :|: TRUE 37.72/13.07 f8575_1_equals_Load(EOS(STATIC_8575), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub1405553621))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) -> f8754_0_equals_Return(EOS(STATIC_8754), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub-81524016)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub1405553621))), 1, o16845[LinkedList$Entry.previous]o16842, o18046[LinkedList$Entry.next]o16842, o18046[LinkedList$Entry.next]o18044) :|: TRUE 37.72/13.07 Combined rules. Obtained 8 IRulesP rules: 37.72/13.07 f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18611sub1405553497:0), java.lang.Object(o18042sub1405553497:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18611sub1405553497:0), java.lang.Object(o18042sub1405553497:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:0, java.lang.Object(o16844sub1403944845:0))), o16845[LinkedList$Entry.previous]o16842:0, o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16847:0, o16847[LinkedList$Entry.next]o16842:0) -> f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18829sub0:0), java.lang.Object(o18829sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:1, java.lang.Object(o16844sub1403944845:1))), o16845[LinkedList$Entry.previous]o16842:0, o16844[LinkedList$Entry.next]o16842:0, o18042[LinkedList$Entry.next]o16844:0, o18824[LinkedList$Entry.next]o18829:0, o18042[LinkedList$Entry.next]o16842:0) :|: o16844[LinkedList$Entry.next]o16847:0 > 0 && o16847[LinkedList$Entry.next]o16844:0 > 0 && o18824[LinkedList$Entry.next]o18829:0 > o16844[LinkedList$Entry.next]o16847:0 && o16847[LinkedList$Entry.next]o16842:0 > -1 && o18042[LinkedList$Entry.next]o16842:0 < o16847[LinkedList$Entry.next]o16842:0 && o18042[LinkedList$Entry.next]o16844:0 < o16847[LinkedList$Entry.next]o16844:0 && o18042[LinkedList$Entry.next]o16842:0 > 0 && i5336:0 > 1 37.72/13.07 f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18663sub-81524016:0), java.lang.Object(o18046sub-81524016:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18663sub1405553621:0), java.lang.Object(o18046sub1405553621:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18663sub1405553621:0), java.lang.Object(o18046sub1405553621:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:0, java.lang.Object(o16844sub1403944845:0))), o16845[LinkedList$Entry.previous]o16842:0, o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16842:0) -> f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o18663sub-81524016:0), java.lang.Object(o18046sub-81524016:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18859sub0:0), java.lang.Object(o18859sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:1, java.lang.Object(o16844sub1403944845:1))), o16845[LinkedList$Entry.previous]o16842:0, o18857[LinkedList$Entry.next]o18855:0, o18046[LinkedList$Entry.next]o18044:0, 1, o18046[LinkedList$Entry.next]o16842:0) :|: o16844[LinkedList$Entry.next]o16842:0 > -1 && o18046[LinkedList$Entry.next]o16842:0 < o16844[LinkedList$Entry.next]o16842:0 && o18046[LinkedList$Entry.next]o18044:0 < o16847[LinkedList$Entry.next]o16844:0 && o16847[LinkedList$Entry.next]o16844:0 > -1 && i5336:0 > 1 && o18046[LinkedList$Entry.next]o16842:0 > 0 37.72/13.07 f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18042sub1405553497:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18042sub1405553497:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:0, java.lang.Object(o16844sub1403944845:0))), o16845[LinkedList$Entry.previous]o16842:0, o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16847:0, o16847[LinkedList$Entry.next]o16842:0) -> f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18829sub0:0), java.lang.Object(o18829sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:1, java.lang.Object(o16844sub1403944845:1))), o16845[LinkedList$Entry.previous]o16842:0, o16844[LinkedList$Entry.next]o16842:0, o18042[LinkedList$Entry.next]o16844:0, o18824[LinkedList$Entry.next]o18829:0, o18042[LinkedList$Entry.next]o16842:0) :|: o16844[LinkedList$Entry.next]o16847:0 > 0 && o16847[LinkedList$Entry.next]o16844:0 > 0 && o18824[LinkedList$Entry.next]o18829:0 > o16844[LinkedList$Entry.next]o16847:0 && o16847[LinkedList$Entry.next]o16842:0 > -1 && o18042[LinkedList$Entry.next]o16842:0 < o16847[LinkedList$Entry.next]o16842:0 && o18042[LinkedList$Entry.next]o16844:0 < o16847[LinkedList$Entry.next]o16844:0 && o18042[LinkedList$Entry.next]o16842:0 > 0 && i5336:0 > 1 37.72/13.07 f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18042sub1405553497:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18042sub1405553497:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:0, java.lang.Object(o16844sub1403944845:0))), o16845[LinkedList$Entry.previous]o16842:0, o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16847:0, o16847[LinkedList$Entry.next]o16842:0) -> f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20280sub0:0), java.lang.Object(o20280sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:1, java.lang.Object(o16844sub1403944845:1))), o16845[LinkedList$Entry.previous]o16842:0, o16844[LinkedList$Entry.next]o16842:0, o18042[LinkedList$Entry.next]o16844:0, o20275[LinkedList$Entry.next]o20280:0, o18042[LinkedList$Entry.next]o16842:0) :|: o16844[LinkedList$Entry.next]o16847:0 > 0 && o16847[LinkedList$Entry.next]o16844:0 > 0 && o16847[LinkedList$Entry.next]o16842:0 > -1 && o18042[LinkedList$Entry.next]o16842:0 < o16847[LinkedList$Entry.next]o16842:0 && o18042[LinkedList$Entry.next]o16844:0 < o16847[LinkedList$Entry.next]o16844:0 && o20275[LinkedList$Entry.next]o20280:0 > o16844[LinkedList$Entry.next]o16847:0 && i5336:0 > 1 && o18042[LinkedList$Entry.next]o16842:0 > 0 37.72/13.07 f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub-81524016:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub1405553621:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub1405553621:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:0, java.lang.Object(o16844sub1403944845:0))), o16845[LinkedList$Entry.previous]o16842:0, o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16842:0) -> f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18046sub-81524016:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20287sub0:0), java.lang.Object(o20287sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:1, java.lang.Object(o16844sub1403944845:1))), o16845[LinkedList$Entry.previous]o16842:0, o20285[LinkedList$Entry.next]o20283:0, o18046[LinkedList$Entry.next]o18044:0, 1, o18046[LinkedList$Entry.next]o16842:0) :|: o16844[LinkedList$Entry.next]o16842:0 > -1 && o18046[LinkedList$Entry.next]o16842:0 < o16844[LinkedList$Entry.next]o16842:0 && o18046[LinkedList$Entry.next]o18044:0 < o16847[LinkedList$Entry.next]o16844:0 && o16847[LinkedList$Entry.next]o16844:0 > -1 && i5336:0 > 1 && o18046[LinkedList$Entry.next]o16842:0 > 0 37.72/13.07 f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18046sub-81524016:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18046sub1405553621:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18046sub1405553621:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:0, java.lang.Object(o16844sub1403944845:0))), o16845[LinkedList$Entry.previous]o16842:0, o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16842:0) -> f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18046sub-81524016:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18859sub0:0), java.lang.Object(o18859sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:1, java.lang.Object(o16844sub1403944845:1))), o16845[LinkedList$Entry.previous]o16842:0, o18857[LinkedList$Entry.next]o18855:0, o18046[LinkedList$Entry.next]o18044:0, 1, o18046[LinkedList$Entry.next]o16842:0) :|: o16844[LinkedList$Entry.next]o16842:0 > -1 && o18046[LinkedList$Entry.next]o16842:0 < o16844[LinkedList$Entry.next]o16842:0 && o18046[LinkedList$Entry.next]o18044:0 < o16847[LinkedList$Entry.next]o16844:0 && o16847[LinkedList$Entry.next]o16844:0 > -1 && i5336:0 > 1 && o18046[LinkedList$Entry.next]o16842:0 > 0 37.72/13.07 Removed following non-SCC rules: 37.72/13.07 f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-81524016:0, java.lang.Object(o18046sub-81524016:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621:0, java.lang.Object(o18046sub1405553621:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621:0, java.lang.Object(o18046sub1405553621:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:0, java.lang.Object(o16844sub1403944845:0))), o16845[LinkedList$Entry.previous]o16842:0, o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16842:0) -> f10606_0_equals_Load(EOS(STATIC_10606), java.lang.Object(javaUtilEx.Content(EOC)), o180450:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:1, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-1485468830:0, java.lang.Object(o18046sub-1485468830:0))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180451405553621:0, java.lang.Object(o18046sub1405553621:0))), java.lang.Object(o18046sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18045-81524016:0, java.lang.Object(o18046sub-81524016:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180450:0, o16845[LinkedList$Entry.previous]o16842:0, o18046[LinkedList$Entry.next]o16842:0, o18046[LinkedList$Entry.next]o18044:0) :|: o16844[LinkedList$Entry.next]o16842:0 > -1 && o18046[LinkedList$Entry.next]o16842:0 < o16844[LinkedList$Entry.next]o16842:0 && o18046[LinkedList$Entry.next]o18044:0 < o16847[LinkedList$Entry.next]o16844:0 && i5336:0 > 1 && o16847[LinkedList$Entry.next]o16844:0 > -1 37.72/13.07 f8472_0_indexOf_EQ(EOS(STATIC_8472), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497:0, java.lang.Object(o18042sub1405553497:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497:0, java.lang.Object(o18042sub1405553497:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:0, java.lang.Object(o16844sub1403944845:0))), o16845[LinkedList$Entry.previous]o16842:0, o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16847:0, o16847[LinkedList$Entry.next]o16842:0) -> f10526_0_equals_Load(EOS(STATIC_10526), java.lang.Object(javaUtilEx.Content(EOC)), o180410:0, java.lang.Object(o16844sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o168431403944845:1, java.lang.Object(o16844sub1403944845:1))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o180411405553497:0, java.lang.Object(o18042sub1405553497:0))), java.lang.Object(o18042sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o180410:0, o16845[LinkedList$Entry.previous]o16842:0, o16844[LinkedList$Entry.next]o16842:0, o16844[LinkedList$Entry.next]o16847:0, o18042[LinkedList$Entry.next]o16842:0, o18042[LinkedList$Entry.next]o16844:0) :|: o16847[LinkedList$Entry.next]o16844:0 > 0 && o16847[LinkedList$Entry.next]o16842:0 > -1 && o18042[LinkedList$Entry.next]o16842:0 < o16847[LinkedList$Entry.next]o16842:0 && o18042[LinkedList$Entry.next]o16844:0 < o16847[LinkedList$Entry.next]o16844:0 && i5336:0 > 1 && o16844[LinkedList$Entry.next]o16847:0 > 0 37.72/13.07 Filtered constant ground arguments: 37.72/13.07 f8472_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) -> f8472_0_indexOf_EQ(x2, x4, x5, x6, x7, x8, x9, x10, x11) 37.72/13.07 EOS(x1) -> EOS 37.72/13.07 javaUtilEx.Content(x1) -> javaUtilEx.Content 37.72/13.07 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 37.72/13.07 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 37.72/13.07 Filtered duplicate arguments: 37.72/13.07 f8472_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f8472_0_indexOf_EQ(x1, x3, x4, x5, x6, x7, x8, x9) 37.72/13.07 Filtered unneeded arguments: 37.72/13.07 f8472_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8) -> f8472_0_indexOf_EQ(x1, x2, x5, x6, x7, x8) 37.72/13.07 Finished conversion. Obtained 6 rules.P rules: 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o18611sub1405553497:0), java.lang.Object(o18042sub1405553497:0))), o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16847:0, o16847[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(o18829sub0:0), o16844[LinkedList$Entry.next]o16842:0, o18042[LinkedList$Entry.next]o16844:0, o18824[LinkedList$Entry.next]o18829:0, o18042[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) :|: o16847[LinkedList$Entry.next]o16844:0 > 0 && o16844[LinkedList$Entry.next]o16847:0 > 0 && o18824[LinkedList$Entry.next]o18829:0 > o16844[LinkedList$Entry.next]o16847:0 && o16847[LinkedList$Entry.next]o16842:0 > -1 && o18042[LinkedList$Entry.next]o16842:0 < o16847[LinkedList$Entry.next]o16842:0 && o18042[LinkedList$Entry.next]o16844:0 < o16847[LinkedList$Entry.next]o16844:0 && i5336:0 > 1 && o18042[LinkedList$Entry.next]o16842:0 > 0 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o18663sub-81524016:0), java.lang.Object(o18046sub-81524016:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o18663sub1405553621:0), java.lang.Object(o18046sub1405553621:0))), o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o18663sub-81524016:0), java.lang.Object(o18046sub-81524016:0)))))))))), java.lang.Object(o18859sub0:0), o18857[LinkedList$Entry.next]o18855:0, o18046[LinkedList$Entry.next]o18044:0, 1, o18046[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) :|: o18046[LinkedList$Entry.next]o16842:0 < o16844[LinkedList$Entry.next]o16842:0 && o16844[LinkedList$Entry.next]o16842:0 > -1 && o18046[LinkedList$Entry.next]o18044:0 < o16847[LinkedList$Entry.next]o16844:0 && o16847[LinkedList$Entry.next]o16844:0 > -1 && o18046[LinkedList$Entry.next]o16842:0 > 0 && i5336:0 > 1 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18042sub1405553497:0))), o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16847:0, o16847[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(o18829sub0:0), o16844[LinkedList$Entry.next]o16842:0, o18042[LinkedList$Entry.next]o16844:0, o18824[LinkedList$Entry.next]o18829:0, o18042[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) :|: o16847[LinkedList$Entry.next]o16844:0 > 0 && o16844[LinkedList$Entry.next]o16847:0 > 0 && o18824[LinkedList$Entry.next]o18829:0 > o16844[LinkedList$Entry.next]o16847:0 && o16847[LinkedList$Entry.next]o16842:0 > -1 && o18042[LinkedList$Entry.next]o16842:0 < o16847[LinkedList$Entry.next]o16842:0 && o18042[LinkedList$Entry.next]o16844:0 < o16847[LinkedList$Entry.next]o16844:0 && i5336:0 > 1 && o18042[LinkedList$Entry.next]o16842:0 > 0 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18042sub1405553497:0))), o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16847:0, o16847[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(o20280sub0:0), o16844[LinkedList$Entry.next]o16842:0, o18042[LinkedList$Entry.next]o16844:0, o20275[LinkedList$Entry.next]o20280:0, o18042[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) :|: o16847[LinkedList$Entry.next]o16844:0 > 0 && o16844[LinkedList$Entry.next]o16847:0 > 0 && o16847[LinkedList$Entry.next]o16842:0 > -1 && o18042[LinkedList$Entry.next]o16842:0 < o16847[LinkedList$Entry.next]o16842:0 && o18042[LinkedList$Entry.next]o16844:0 < o16847[LinkedList$Entry.next]o16844:0 && o20275[LinkedList$Entry.next]o20280:0 > o16844[LinkedList$Entry.next]o16847:0 && o18042[LinkedList$Entry.next]o16842:0 > 0 && i5336:0 > 1 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18046sub-81524016:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18046sub1405553621:0))), o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18046sub-81524016:0)))))))))), java.lang.Object(o20287sub0:0), o20285[LinkedList$Entry.next]o20283:0, o18046[LinkedList$Entry.next]o18044:0, 1, o18046[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) :|: o18046[LinkedList$Entry.next]o16842:0 < o16844[LinkedList$Entry.next]o16842:0 && o16844[LinkedList$Entry.next]o16842:0 > -1 && o18046[LinkedList$Entry.next]o18044:0 < o16847[LinkedList$Entry.next]o16844:0 && o16847[LinkedList$Entry.next]o16844:0 > -1 && o18046[LinkedList$Entry.next]o16842:0 > 0 && i5336:0 > 1 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18046sub-81524016:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18046sub1405553621:0))), o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18046sub-81524016:0)))))))))), java.lang.Object(o18859sub0:0), o18857[LinkedList$Entry.next]o18855:0, o18046[LinkedList$Entry.next]o18044:0, 1, o18046[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) :|: o18046[LinkedList$Entry.next]o16842:0 < o16844[LinkedList$Entry.next]o16842:0 && o16844[LinkedList$Entry.next]o16842:0 > -1 && o18046[LinkedList$Entry.next]o18044:0 < o16847[LinkedList$Entry.next]o16844:0 && o16847[LinkedList$Entry.next]o16844:0 > -1 && o18046[LinkedList$Entry.next]o16842:0 > 0 && i5336:0 > 1 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (65) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o18611sub1405553497:0), java.lang.Object(o18042sub1405553497:0))), o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16847:0, o16847[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(o18829sub0:0), o16844[LinkedList$Entry.next]o16842:0, o18042[LinkedList$Entry.next]o16844:0, o18824[LinkedList$Entry.next]o18829:0, o18042[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) :|: o16847[LinkedList$Entry.next]o16844:0 > 0 && o16844[LinkedList$Entry.next]o16847:0 > 0 && o18824[LinkedList$Entry.next]o18829:0 > o16844[LinkedList$Entry.next]o16847:0 && o16847[LinkedList$Entry.next]o16842:0 > -1 && o18042[LinkedList$Entry.next]o16842:0 < o16847[LinkedList$Entry.next]o16842:0 && o18042[LinkedList$Entry.next]o16844:0 < o16847[LinkedList$Entry.next]o16844:0 && i5336:0 > 1 && o18042[LinkedList$Entry.next]o16842:0 > 0 37.72/13.07 f8472_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) -> f8472_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 && x11 > 1 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x14))), x15, x16, x17, x18, x12) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(x19), x15, x20, x21, x22, x12) :|: x16 > 0 && x17 > 0 && x21 > x17 && x18 > -1 && x22 < x18 && x20 < x16 && x23 > 1 && x22 > 0 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x24, java.lang.Object(x25)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x26))), x27, x28, x29, x30, x24) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x24, java.lang.Object(x25)))))))), java.lang.Object(x31), x27, x32, x33, x34, x24) :|: x28 > 0 && x29 > 0 && x30 > -1 && x34 < x30 && x32 < x28 && x33 > x29 && x34 > 0 && x35 > 1 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x37)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x38))), x39, x40, x40, x39, x36) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x37)))))))))), java.lang.Object(x41), x42, x43, 1, x44, x36) :|: x44 < x39 && x39 > -1 && x43 < x40 && x40 > -1 && x44 > 0 && x45 > 1 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x46, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x47)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48))), x49, x50, x50, x49, x46) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x46, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x47)))))))))), java.lang.Object(x51), x52, x53, 1, x54, x46) :|: x54 < x49 && x49 > -1 && x53 < x50 && x50 > -1 && x54 > 0 && x55 > 1 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (66) IRSFormatTransformerProof (EQUIVALENT) 37.72/13.07 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (67) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o18611sub1405553497:0), java.lang.Object(o18042sub1405553497:0))), o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16847:0, o16847[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(o18829sub0:0), o16844[LinkedList$Entry.next]o16842:0, o18042[LinkedList$Entry.next]o16844:0, o18824[LinkedList$Entry.next]o18829:0, o18042[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) :|: o16847[LinkedList$Entry.next]o16844:0 > 0 && o16844[LinkedList$Entry.next]o16847:0 > 0 && o18824[LinkedList$Entry.next]o18829:0 > o16844[LinkedList$Entry.next]o16847:0 && o16847[LinkedList$Entry.next]o16842:0 > -1 && o18042[LinkedList$Entry.next]o16842:0 < o16847[LinkedList$Entry.next]o16842:0 && o18042[LinkedList$Entry.next]o16844:0 < o16847[LinkedList$Entry.next]o16844:0 && i5336:0 > 1 && o18042[LinkedList$Entry.next]o16842:0 > 0 37.72/13.07 f8472_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) -> f8472_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 && x11 > 1 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x14))), x15, x16, x17, x18, x12) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(x19), x15, x20, x21, x22, x12) :|: x16 > 0 && x17 > 0 && x21 > x17 && x18 > -1 && x22 < x18 && x20 < x16 && x23 > 1 && x22 > 0 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x24, java.lang.Object(x25)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x26))), x27, x28, x29, x30, x24) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x24, java.lang.Object(x25)))))))), java.lang.Object(x31), x27, x32, x33, x34, x24) :|: x28 > 0 && x29 > 0 && x30 > -1 && x34 < x30 && x32 < x28 && x33 > x29 && x34 > 0 && x35 > 1 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x37)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x38))), x39, x40, x40, x39, x36) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x37)))))))))), java.lang.Object(x41), x42, x43, 1, x44, x36) :|: x44 < x39 && x39 > -1 && x43 < x40 && x40 > -1 && x44 > 0 && x45 > 1 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x46, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x47)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48))), x49, x50, x50, x49, x46) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x46, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x47)))))))))), java.lang.Object(x51), x52, x53, 1, x54, x46) :|: x54 < x49 && x49 > -1 && x53 < x50 && x50 > -1 && x54 > 0 && x55 > 1 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (68) IRSwTTerminationDigraphProof (EQUIVALENT) 37.72/13.07 Constructed termination digraph! 37.72/13.07 Nodes: 37.72/13.07 (1) f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o18611sub1405553497:0), java.lang.Object(o18042sub1405553497:0))), o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16847:0, o16847[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(o18829sub0:0), o16844[LinkedList$Entry.next]o16842:0, o18042[LinkedList$Entry.next]o16844:0, o18824[LinkedList$Entry.next]o18829:0, o18042[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) :|: o16847[LinkedList$Entry.next]o16844:0 > 0 && o16844[LinkedList$Entry.next]o16847:0 > 0 && o18824[LinkedList$Entry.next]o18829:0 > o16844[LinkedList$Entry.next]o16847:0 && o16847[LinkedList$Entry.next]o16842:0 > -1 && o18042[LinkedList$Entry.next]o16842:0 < o16847[LinkedList$Entry.next]o16842:0 && o18042[LinkedList$Entry.next]o16844:0 < o16847[LinkedList$Entry.next]o16844:0 && i5336:0 > 1 && o18042[LinkedList$Entry.next]o16842:0 > 0 37.72/13.07 (2) f8472_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) -> f8472_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 && x11 > 1 37.72/13.07 (3) f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x14))), x15, x16, x17, x18, x12) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(x19), x15, x20, x21, x22, x12) :|: x16 > 0 && x17 > 0 && x21 > x17 && x18 > -1 && x22 < x18 && x20 < x16 && x23 > 1 && x22 > 0 37.72/13.07 (4) f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x24, java.lang.Object(x25)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x26))), x27, x28, x29, x30, x24) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x24, java.lang.Object(x25)))))))), java.lang.Object(x31), x27, x32, x33, x34, x24) :|: x28 > 0 && x29 > 0 && x30 > -1 && x34 < x30 && x32 < x28 && x33 > x29 && x34 > 0 && x35 > 1 37.72/13.07 (5) f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x37)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x38))), x39, x40, x40, x39, x36) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x37)))))))))), java.lang.Object(x41), x42, x43, 1, x44, x36) :|: x44 < x39 && x39 > -1 && x43 < x40 && x40 > -1 && x44 > 0 && x45 > 1 37.72/13.07 (6) f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x46, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x47)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48))), x49, x50, x50, x49, x46) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x46, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x47)))))))))), java.lang.Object(x51), x52, x53, 1, x54, x46) :|: x54 < x49 && x49 > -1 && x53 < x50 && x50 > -1 && x54 > 0 && x55 > 1 37.72/13.07 37.72/13.07 Arcs: 37.72/13.07 (1) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (2) -> (1), (2), (3), (4), (5) 37.72/13.07 (3) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (4) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (5) -> (1), (2), (3), (4), (5) 37.72/13.07 (6) -> (1), (3), (4), (6) 37.72/13.07 37.72/13.07 This digraph is fully evaluated! 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (69) 37.72/13.07 Obligation: 37.72/13.07 37.72/13.07 Termination digraph: 37.72/13.07 Nodes: 37.72/13.07 (1) f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o18611sub1405553497:0), java.lang.Object(o18042sub1405553497:0))), o16844[LinkedList$Entry.next]o16842:0, o16847[LinkedList$Entry.next]o16844:0, o16844[LinkedList$Entry.next]o16847:0, o16847[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0, java.lang.Object(o16844sub-1487077637:0)))))))), java.lang.Object(o18829sub0:0), o16844[LinkedList$Entry.next]o16842:0, o18042[LinkedList$Entry.next]o16844:0, o18824[LinkedList$Entry.next]o18829:0, o18042[LinkedList$Entry.next]o16842:0, o16843-1487077637:0) :|: o16847[LinkedList$Entry.next]o16844:0 > 0 && o16844[LinkedList$Entry.next]o16847:0 > 0 && o18824[LinkedList$Entry.next]o18829:0 > o16844[LinkedList$Entry.next]o16847:0 && o16847[LinkedList$Entry.next]o16842:0 > -1 && o18042[LinkedList$Entry.next]o16842:0 < o16847[LinkedList$Entry.next]o16842:0 && o18042[LinkedList$Entry.next]o16844:0 < o16847[LinkedList$Entry.next]o16844:0 && i5336:0 > 1 && o18042[LinkedList$Entry.next]o16842:0 > 0 37.72/13.07 (2) f8472_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) -> f8472_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 && x11 > 1 37.72/13.07 (3) f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x14))), x15, x16, x17, x18, x12) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(x13)))))))), java.lang.Object(x19), x15, x20, x21, x22, x12) :|: x16 > 0 && x17 > 0 && x21 > x17 && x18 > -1 && x22 < x18 && x20 < x16 && x23 > 1 && x22 > 0 37.72/13.07 (4) f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x24, java.lang.Object(x25)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x26))), x27, x28, x29, x30, x24) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x24, java.lang.Object(x25)))))))), java.lang.Object(x31), x27, x32, x33, x34, x24) :|: x28 > 0 && x29 > 0 && x30 > -1 && x34 < x30 && x32 < x28 && x33 > x29 && x34 > 0 && x35 > 1 37.72/13.07 (5) f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x46, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x47)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48))), x49, x50, x50, x49, x46) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x46, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x47)))))))))), java.lang.Object(x51), x52, x53, 1, x54, x46) :|: x54 < x49 && x49 > -1 && x53 < x50 && x50 > -1 && x54 > 0 && x55 > 1 37.72/13.07 (6) f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x37)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x38))), x39, x40, x40, x39, x36) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x37)))))))))), java.lang.Object(x41), x42, x43, 1, x44, x36) :|: x44 < x39 && x39 > -1 && x43 < x40 && x40 > -1 && x44 > 0 && x45 > 1 37.72/13.07 37.72/13.07 Arcs: 37.72/13.07 (1) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (2) -> (1), (2), (3), (4), (6) 37.72/13.07 (3) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (4) -> (1), (2), (3), (4), (5), (6) 37.72/13.07 (5) -> (1), (3), (4), (5) 37.72/13.07 (6) -> (1), (2), (3), (4), (6) 37.72/13.07 37.72/13.07 This digraph is fully evaluated! 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (70) IntTRSCompressionProof (EQUIVALENT) 37.72/13.07 Compressed rules. 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (71) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x46:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x47:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48:0))), x49:0, x50:0, x50:0, x49:0, x46:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x46:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x47:0)))))))))), java.lang.Object(x51:0), x52:0, x53:0, 1, x54:0, x46:0) :|: x54:0 > 0 && x55:0 > 1 && x50:0 > -1 && x53:0 < x50:0 && x49:0 > -1 && x54:0 < x49:0 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12:0, java.lang.Object(x13:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x14:0))), x15:0, x16:0, x17:0, x18:0, x12:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12:0, java.lang.Object(x13:0)))))))), java.lang.Object(x19:0), x15:0, x20:0, x21:0, x22:0, x12:0) :|: x23:0 > 1 && x22:0 > 0 && x20:0 < x16:0 && x22:0 < x18:0 && x18:0 > -1 && x21:0 > x17:0 && x17:0 > 0 && x16:0 > 0 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0:0, java.lang.Object(o16844sub-1487077637:0:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o18611sub1405553497:0:0), java.lang.Object(o18042sub1405553497:0:0))), o16844[LinkedList$Entry.next]o16842:0:0, o16847[LinkedList$Entry.next]o16844:0:0, o16844[LinkedList$Entry.next]o16847:0:0, o16847[LinkedList$Entry.next]o16842:0:0, o16843-1487077637:0:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o16843-1487077637:0:0, java.lang.Object(o16844sub-1487077637:0:0)))))))), java.lang.Object(o18829sub0:0:0), o16844[LinkedList$Entry.next]o16842:0:0, o18042[LinkedList$Entry.next]o16844:0:0, o18824[LinkedList$Entry.next]o18829:0:0, o18042[LinkedList$Entry.next]o16842:0:0, o16843-1487077637:0:0) :|: i5336:0:0 > 1 && o18042[LinkedList$Entry.next]o16842:0:0 > 0 && o18042[LinkedList$Entry.next]o16844:0:0 < o16847[LinkedList$Entry.next]o16844:0:0 && o18042[LinkedList$Entry.next]o16842:0:0 < o16847[LinkedList$Entry.next]o16842:0:0 && o16847[LinkedList$Entry.next]o16842:0:0 > -1 && o18824[LinkedList$Entry.next]o18829:0:0 > o16844[LinkedList$Entry.next]o16847:0:0 && o16844[LinkedList$Entry.next]o16847:0:0 > 0 && o16847[LinkedList$Entry.next]o16844:0:0 > 0 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x24:0, java.lang.Object(x25:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x26:0))), x27:0, x28:0, x29:0, x30:0, x24:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x24:0, java.lang.Object(x25:0)))))))), java.lang.Object(x31:0), x27:0, x32:0, x33:0, x34:0, x24:0) :|: x34:0 > 0 && x35:0 > 1 && x33:0 > x29:0 && x32:0 < x28:0 && x34:0 < x30:0 && x30:0 > -1 && x29:0 > 0 && x28:0 > 0 37.72/13.07 f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x37:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x38:0))), x39:0, x40:0, x40:0, x39:0, x36:0) -> f8472_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x37:0)))))))))), java.lang.Object(x41:0), x42:0, x43:0, 1, x44:0, x36:0) :|: x44:0 > 0 && x45:0 > 1 && x40:0 > -1 && x43:0 < x40:0 && x39:0 > -1 && x44:0 < x39:0 37.72/13.07 f8472_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) -> f8472_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) :|: x10:0 > 0 && x11:0 > 1 && x6:0 > -1 && x9:0 < x6:0 && x5:0 > -1 && x5:0 > x10:0 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (72) TempFilterProof (SOUND) 37.72/13.07 Used the following sort dictionary for filtering: 37.72/13.07 f8472_0_indexOf_EQ(VARIABLE, VARIABLE, VARIABLE, INTEGER, VARIABLE, INTEGER, VARIABLE) 37.72/13.07 java.lang.Object(VARIABLE) 37.72/13.07 javaUtilEx.AbstractCollection(VARIABLE) 37.72/13.07 javaUtilEx.AbstractList(VARIABLE) 37.72/13.07 javaUtilEx.AbstractSequentialList(VARIABLE) 37.72/13.07 javaUtilEx.LinkedList(VARIABLE) 37.72/13.07 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 37.72/13.07 NULL() 37.72/13.07 javaUtilEx.Content() 37.72/13.07 Replaced non-predefined constructor symbols by 0. 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (73) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f8472_0_indexOf_EQ(c, c1, x49:0, x50:0, x50:0, x49:0, x46:0) -> f8472_0_indexOf_EQ(c2, c3, x52:0, x53:0, c4, x54:0, x46:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (x54:0 > 0 && x55:0 > 1 && x50:0 > -1 && x53:0 < x50:0 && x49:0 > -1 && x54:0 < x49:0) 37.72/13.07 f8472_0_indexOf_EQ(c5, c6, x15:0, x16:0, x17:0, x18:0, x12:0) -> f8472_0_indexOf_EQ(c7, c8, x15:0, x20:0, x21:0, x22:0, x12:0) :|: c8 = 0 && (c7 = 0 && (c6 = 0 && c5 = 0)) && (x23:0 > 1 && x22:0 > 0 && x20:0 < x16:0 && x22:0 < x18:0 && x18:0 > -1 && x21:0 > x17:0 && x17:0 > 0 && x16:0 > 0) 37.72/13.07 f8472_0_indexOf_EQ(c13, c14, x27:0, x28:0, x29:0, x30:0, x24:0) -> f8472_0_indexOf_EQ(c15, c16, x27:0, x32:0, x33:0, x34:0, x24:0) :|: c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)) && (x34:0 > 0 && x35:0 > 1 && x33:0 > x29:0 && x32:0 < x28:0 && x34:0 < x30:0 && x30:0 > -1 && x29:0 > 0 && x28:0 > 0) 37.72/13.07 f8472_0_indexOf_EQ(c22, c23, x5:0, x6:0, x6:0, x5:0, x:0) -> f8472_0_indexOf_EQ(c24, c25, x8:0, x9:0, c26, x10:0, x:0) :|: c26 = 1 && (c25 = 0 && (c24 = 0 && (c23 = 0 && c22 = 0))) && (x10:0 > 0 && x11:0 > 1 && x6:0 > -1 && x9:0 < x6:0 && x5:0 > -1 && x5:0 > x10:0) 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (74) PolynomialOrderProcessor (EQUIVALENT) 37.72/13.07 Found the following polynomial interpretation: 37.72/13.07 [f8472_0_indexOf_EQ(x, x1, x2, x3, x4, x5, x6)] = -1 + c*x + c1*x1 + 2*x3 37.72/13.07 37.72/13.07 The following rules are decreasing: 37.72/13.07 f8472_0_indexOf_EQ(c, c1, x49:0, x50:0, x50:0, x49:0, x46:0) -> f8472_0_indexOf_EQ(c2, c3, x52:0, x53:0, c4, x54:0, x46:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (x54:0 > 0 && x55:0 > 1 && x50:0 > -1 && x53:0 < x50:0 && x49:0 > -1 && x54:0 < x49:0) 37.72/13.07 f8472_0_indexOf_EQ(c5, c6, x15:0, x16:0, x17:0, x18:0, x12:0) -> f8472_0_indexOf_EQ(c7, c8, x15:0, x20:0, x21:0, x22:0, x12:0) :|: c8 = 0 && (c7 = 0 && (c6 = 0 && c5 = 0)) && (x23:0 > 1 && x22:0 > 0 && x20:0 < x16:0 && x22:0 < x18:0 && x18:0 > -1 && x21:0 > x17:0 && x17:0 > 0 && x16:0 > 0) 37.72/13.07 f8472_0_indexOf_EQ(c13, c14, x27:0, x28:0, x29:0, x30:0, x24:0) -> f8472_0_indexOf_EQ(c15, c16, x27:0, x32:0, x33:0, x34:0, x24:0) :|: c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)) && (x34:0 > 0 && x35:0 > 1 && x33:0 > x29:0 && x32:0 < x28:0 && x34:0 < x30:0 && x30:0 > -1 && x29:0 > 0 && x28:0 > 0) 37.72/13.07 f8472_0_indexOf_EQ(c22, c23, x5:0, x6:0, x6:0, x5:0, x:0) -> f8472_0_indexOf_EQ(c24, c25, x8:0, x9:0, c26, x10:0, x:0) :|: c26 = 1 && (c25 = 0 && (c24 = 0 && (c23 = 0 && c22 = 0))) && (x10:0 > 0 && x11:0 > 1 && x6:0 > -1 && x9:0 < x6:0 && x5:0 > -1 && x5:0 > x10:0) 37.72/13.07 The following rules are bounded: 37.72/13.07 f8472_0_indexOf_EQ(c5, c6, x15:0, x16:0, x17:0, x18:0, x12:0) -> f8472_0_indexOf_EQ(c7, c8, x15:0, x20:0, x21:0, x22:0, x12:0) :|: c8 = 0 && (c7 = 0 && (c6 = 0 && c5 = 0)) && (x23:0 > 1 && x22:0 > 0 && x20:0 < x16:0 && x22:0 < x18:0 && x18:0 > -1 && x21:0 > x17:0 && x17:0 > 0 && x16:0 > 0) 37.72/13.07 f8472_0_indexOf_EQ(c13, c14, x27:0, x28:0, x29:0, x30:0, x24:0) -> f8472_0_indexOf_EQ(c15, c16, x27:0, x32:0, x33:0, x34:0, x24:0) :|: c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0)) && (x34:0 > 0 && x35:0 > 1 && x33:0 > x29:0 && x32:0 < x28:0 && x34:0 < x30:0 && x30:0 > -1 && x29:0 > 0 && x28:0 > 0) 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (75) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f8472_0_indexOf_EQ(c, c1, x49:0, x50:0, x50:0, x49:0, x46:0) -> f8472_0_indexOf_EQ(c2, c3, x52:0, x53:0, c4, x54:0, x46:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (x54:0 > 0 && x55:0 > 1 && x50:0 > -1 && x53:0 < x50:0 && x49:0 > -1 && x54:0 < x49:0) 37.72/13.07 f8472_0_indexOf_EQ(c22, c23, x5:0, x6:0, x6:0, x5:0, x:0) -> f8472_0_indexOf_EQ(c24, c25, x8:0, x9:0, c26, x10:0, x:0) :|: c26 = 1 && (c25 = 0 && (c24 = 0 && (c23 = 0 && c22 = 0))) && (x10:0 > 0 && x11:0 > 1 && x6:0 > -1 && x9:0 < x6:0 && x5:0 > -1 && x5:0 > x10:0) 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (76) RankingReductionPairProof (EQUIVALENT) 37.72/13.07 Interpretation: 37.72/13.07 [ f8472_0_indexOf_EQ ] = f8472_0_indexOf_EQ_6 37.72/13.07 37.72/13.07 The following rules are decreasing: 37.72/13.07 f8472_0_indexOf_EQ(c, c1, x49:0, x50:0, x50:0, x49:0, x46:0) -> f8472_0_indexOf_EQ(c2, c3, x52:0, x53:0, c4, x54:0, x46:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (x54:0 > 0 && x55:0 > 1 && x50:0 > -1 && x53:0 < x50:0 && x49:0 > -1 && x54:0 < x49:0) 37.72/13.07 f8472_0_indexOf_EQ(c22, c23, x5:0, x6:0, x6:0, x5:0, x:0) -> f8472_0_indexOf_EQ(c24, c25, x8:0, x9:0, c26, x10:0, x:0) :|: c26 = 1 && (c25 = 0 && (c24 = 0 && (c23 = 0 && c22 = 0))) && (x10:0 > 0 && x11:0 > 1 && x6:0 > -1 && x9:0 < x6:0 && x5:0 > -1 && x5:0 > x10:0) 37.72/13.07 37.72/13.07 The following rules are bounded: 37.72/13.07 f8472_0_indexOf_EQ(c, c1, x49:0, x50:0, x50:0, x49:0, x46:0) -> f8472_0_indexOf_EQ(c2, c3, x52:0, x53:0, c4, x54:0, x46:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (x54:0 > 0 && x55:0 > 1 && x50:0 > -1 && x53:0 < x50:0 && x49:0 > -1 && x54:0 < x49:0) 37.72/13.07 f8472_0_indexOf_EQ(c22, c23, x5:0, x6:0, x6:0, x5:0, x:0) -> f8472_0_indexOf_EQ(c24, c25, x8:0, x9:0, c26, x10:0, x:0) :|: c26 = 1 && (c25 = 0 && (c24 = 0 && (c23 = 0 && c22 = 0))) && (x10:0 > 0 && x11:0 > 1 && x6:0 > -1 && x9:0 < x6:0 && x5:0 > -1 && x5:0 > x10:0) 37.72/13.07 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (77) 37.72/13.07 YES 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (78) 37.72/13.07 Obligation: 37.72/13.07 SCC of termination graph based on JBC Program. 37.72/13.07 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateIndexOf.main([Ljava/lang/String;)V 37.72/13.07 SCC calls the following helper methods: 37.72/13.07 Performed SCC analyses: 37.72/13.07 *Used field analysis yielded the following read fields: 37.72/13.07 *javaUtilEx.LinkedList$Entry: [element, next] 37.72/13.07 *javaUtilEx.LinkedList: [header] 37.72/13.07 *Marker field analysis yielded the following relations that could be markers: 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (79) SCCToIRSProof (SOUND) 37.72/13.07 Transformed FIGraph SCCs to intTRSs. Log: 37.72/13.07 Generated rules. Obtained 28 IRulesP rules: 37.72/13.07 f9143_0_indexOf_EQ(EOS(STATIC_9143), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o25305sub0), java.lang.Object(o25305sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o253031431497676, java.lang.Object(o25304sub1431497676))), o25304[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o25305, o25305[LinkedList$Entry.next]o25302) -> f9151_0_indexOf_Load(EOS(STATIC_9151), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o25305sub0), o25304[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o25305, o25305[LinkedList$Entry.next]o25302) :|: TRUE 37.72/13.07 f9151_0_indexOf_Load(EOS(STATIC_9151), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o25305sub0), o25304[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o25305, o25305[LinkedList$Entry.next]o25302) -> f9154_0_indexOf_FieldAccess(EOS(STATIC_9154), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o25305sub0), java.lang.Object(o25305sub0), o25304[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o25305, o25305[LinkedList$Entry.next]o25302) :|: TRUE 37.72/13.07 f9154_0_indexOf_FieldAccess(EOS(STATIC_9154), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o25305sub0), java.lang.Object(o25305sub0), o25304[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o25305, o25305[LinkedList$Entry.next]o25302) -> f9185_0_indexOf_FieldAccess(EOS(STATIC_9185), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o25305sub0), java.lang.Object(o25305sub0), o25304[LinkedList$Entry.next]o25302, o25304[LinkedList$Entry.next]o25305, o25305[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25304) :|: o25305[LinkedList$Entry.next]o25304 > 0 && o25304[LinkedList$Entry.next]o25305 > 0 37.72/13.07 f9154_0_indexOf_FieldAccess(EOS(STATIC_9154), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o26139sub-1431971975)))))))), java.lang.Object(o26139sub0), java.lang.Object(o26139sub0), o26139[LinkedList$Entry.next]o25302, o26139[LinkedList$Entry.next]o26139, o26139[LinkedList$Entry.next]o26139, o26139[LinkedList$Entry.next]o25302) -> f9186_0_indexOf_FieldAccess(EOS(STATIC_9186), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o26139sub-1431971975)))))))), java.lang.Object(o26139sub0), java.lang.Object(o26139sub0), o26139[LinkedList$Entry.next]o25302, o26139[LinkedList$Entry.next]o26139) :|: TRUE 37.72/13.07 f9185_0_indexOf_FieldAccess(EOS(STATIC_9185), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268471432574120, java.lang.Object(o26848sub1432574120))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268471432574120, java.lang.Object(o26848sub1432574120))), o25304[LinkedList$Entry.next]o25302, o25304[LinkedList$Entry.next]o26846, o26846[LinkedList$Entry.next]o25302, o26846[LinkedList$Entry.next]o25304) -> f9197_0_indexOf_FieldAccess(EOS(STATIC_9197), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268471432574120, java.lang.Object(o26848sub1432574120))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268471432574120, java.lang.Object(o26848sub1432574120))), o25304[LinkedList$Entry.next]o25302, o25304[LinkedList$Entry.next]o26846, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304) :|: o26848[LinkedList$Entry.next]o25302 < o26846[LinkedList$Entry.next]o25302 && o26846[LinkedList$Entry.next]o25302 >= 0 && o26848[LinkedList$Entry.next]o25304 < o26846[LinkedList$Entry.next]o25304 && o26846[LinkedList$Entry.next]o25304 >= 0 37.72/13.07 f9197_0_indexOf_FieldAccess(EOS(STATIC_9197), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268471432574120, java.lang.Object(o26848sub1432574120))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268471432574120, java.lang.Object(o26848sub1432574120))), o25304[LinkedList$Entry.next]o25302, o25304[LinkedList$Entry.next]o26846, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304) -> f9213_0_indexOf_NONNULL(EOS(STATIC_9213), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268471432574120, java.lang.Object(o26848sub1432574120))), o268470, o25304[LinkedList$Entry.next]o25302, o25304[LinkedList$Entry.next]o26846, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304) :|: TRUE 37.72/13.07 f9213_0_indexOf_NONNULL(EOS(STATIC_9213), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27172sub1432574120), java.lang.Object(o26848sub1432574120))), java.lang.Object(o27172sub0), o25304[LinkedList$Entry.next]o25302, o25304[LinkedList$Entry.next]o26846, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304) -> f9231_0_indexOf_NONNULL(EOS(STATIC_9231), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27172sub1432574120), java.lang.Object(o26848sub1432574120))), java.lang.Object(o27172sub0), o25304[LinkedList$Entry.next]o25302, o25304[LinkedList$Entry.next]o26846, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304) :|: TRUE 37.72/13.07 f9231_0_indexOf_NONNULL(EOS(STATIC_9231), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27172sub1432574120), java.lang.Object(o26848sub1432574120))), java.lang.Object(o27172sub0), o25304[LinkedList$Entry.next]o25302, o25304[LinkedList$Entry.next]o26846, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304) -> f9248_0_indexOf_Inc(EOS(STATIC_9248), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27172sub1432574120), java.lang.Object(o26848sub1432574120))), o25304[LinkedList$Entry.next]o25302, o25304[LinkedList$Entry.next]o26846, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304) :|: TRUE 37.72/13.07 f9248_0_indexOf_Inc(EOS(STATIC_9248), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27172sub1432574120), java.lang.Object(o26848sub1432574120))), o25304[LinkedList$Entry.next]o25302, o25304[LinkedList$Entry.next]o26846, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304) -> f9264_0_indexOf_Load(EOS(STATIC_9264), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27172sub1432574120), java.lang.Object(o26848sub1432574120))), o25304[LinkedList$Entry.next]o25302, o25304[LinkedList$Entry.next]o26846, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304) :|: TRUE 37.72/13.07 f9264_0_indexOf_Load(EOS(STATIC_9264), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27172sub1432574120), java.lang.Object(o26848sub1432574120))), o25304[LinkedList$Entry.next]o25302, o25304[LinkedList$Entry.next]o26846, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304) -> f9278_0_indexOf_FieldAccess(EOS(STATIC_9278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27172sub1432574120), java.lang.Object(o26848sub1432574120))), o25304[LinkedList$Entry.next]o25302, o25304[LinkedList$Entry.next]o26846, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304) :|: TRUE 37.72/13.07 f9278_0_indexOf_FieldAccess(EOS(STATIC_9278), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27172sub1432574120), java.lang.Object(o26848sub1432574120))), o25304[LinkedList$Entry.next]o25302, o25304[LinkedList$Entry.next]o26846, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304) -> f9287_0_indexOf_Store(EOS(STATIC_9287), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o26848sub0), o25304[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o26848) :|: o25304[LinkedList$Entry.next]o26848 > o25304[LinkedList$Entry.next]o26846 && o25304[LinkedList$Entry.next]o26846 >= 0 37.72/13.07 f9287_0_indexOf_Store(EOS(STATIC_9287), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o26848sub0), o25304[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o26848) -> f9294_0_indexOf_JMP(EOS(STATIC_9294), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o26848sub0), o25304[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o26848) :|: TRUE 37.72/13.07 f9294_0_indexOf_JMP(EOS(STATIC_9294), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o26848sub0), o25304[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o26848) -> f9300_0_indexOf_Load(EOS(STATIC_9300), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o26848sub0), o25304[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o26848) :|: TRUE 37.72/13.07 f9300_0_indexOf_Load(EOS(STATIC_9300), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o26848sub0), o25304[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o26848) -> f9118_0_indexOf_Load(EOS(STATIC_9118), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o26848sub0), o25304[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25302, o26848[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o26848) :|: TRUE 37.72/13.07 f9118_0_indexOf_Load(EOS(STATIC_9118), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o25305sub0), o25304[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o25305) -> f9124_0_indexOf_Load(EOS(STATIC_9124), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o25305sub0), java.lang.Object(o25305sub0), o25304[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o25305) :|: TRUE 37.72/13.07 f9124_0_indexOf_Load(EOS(STATIC_9124), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o25305sub0), java.lang.Object(o25305sub0), o25304[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o25305) -> f9130_0_indexOf_FieldAccess(EOS(STATIC_9130), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o25305sub0), java.lang.Object(o25305sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), o25304[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o25305) :|: TRUE 37.72/13.07 f9130_0_indexOf_FieldAccess(EOS(STATIC_9130), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o25305sub0), java.lang.Object(o25305sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), o25304[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o25305) -> f9136_0_indexOf_EQ(EOS(STATIC_9136), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o25305sub0), java.lang.Object(o25305sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o253031431497676, java.lang.Object(o25304sub1431497676))), o25304[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o25305) :|: TRUE 37.72/13.07 f9136_0_indexOf_EQ(EOS(STATIC_9136), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o25305sub0), java.lang.Object(o25305sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o253031431497676, java.lang.Object(o25304sub1431497676))), o25304[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o25305) -> f9143_0_indexOf_EQ(EOS(STATIC_9143), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(o25304sub-1431971975)))))))), java.lang.Object(o25305sub0), java.lang.Object(o25305sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o253031431497676, java.lang.Object(o25304sub1431497676))), o25304[LinkedList$Entry.next]o25302, o25305[LinkedList$Entry.next]o25304, o25304[LinkedList$Entry.next]o25305, o25305[LinkedList$Entry.next]o25302) :|: o25305[LinkedList$Entry.next]o25302 > 0 37.72/13.07 f9186_0_indexOf_FieldAccess(EOS(STATIC_9186), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o26851602920, java.lang.Object(o26852sub602920)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268511432574895, java.lang.Object(o26852sub1432574895))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268511432574895, java.lang.Object(o26852sub1432574895))), o26850[LinkedList$Entry.next]o25302, o26850[LinkedList$Entry.next]o26850) -> f9198_0_indexOf_FieldAccess(EOS(STATIC_9198), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o26851602920, java.lang.Object(o26852sub602920)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268511432574895, java.lang.Object(o26852sub1432574895))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268511432574895, java.lang.Object(o26852sub1432574895))), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) :|: o26852[LinkedList$Entry.next]o25302 < o26850[LinkedList$Entry.next]o25302 && o26850[LinkedList$Entry.next]o25302 >= 0 && o26852[LinkedList$Entry.next]o26850 < o26850[LinkedList$Entry.next]o26850 && o26850[LinkedList$Entry.next]o26850 >= 0 37.72/13.07 f9198_0_indexOf_FieldAccess(EOS(STATIC_9198), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o26851602920, java.lang.Object(o26852sub602920)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268511432574895, java.lang.Object(o26852sub1432574895))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268511432574895, java.lang.Object(o26852sub1432574895))), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) -> f9214_0_indexOf_NONNULL(EOS(STATIC_9214), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o26851602920, java.lang.Object(o26852sub602920)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268511432574895, java.lang.Object(o26852sub1432574895))), o268510, o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) :|: TRUE 37.72/13.07 f9214_0_indexOf_NONNULL(EOS(STATIC_9214), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub1432574895), java.lang.Object(o26852sub1432574895))), java.lang.Object(o27173sub0), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) -> f9233_0_indexOf_NONNULL(EOS(STATIC_9233), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub1432574895), java.lang.Object(o26852sub1432574895))), java.lang.Object(o27173sub0), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) :|: TRUE 37.72/13.07 f9233_0_indexOf_NONNULL(EOS(STATIC_9233), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub1432574895), java.lang.Object(o26852sub1432574895))), java.lang.Object(o27173sub0), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) -> f9250_0_indexOf_Inc(EOS(STATIC_9250), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub1432574895), java.lang.Object(o26852sub1432574895))), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) :|: TRUE 37.72/13.07 f9250_0_indexOf_Inc(EOS(STATIC_9250), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub1432574895), java.lang.Object(o26852sub1432574895))), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) -> f9265_0_indexOf_Load(EOS(STATIC_9265), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub1432574895), java.lang.Object(o26852sub1432574895))), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) :|: TRUE 37.72/13.07 f9265_0_indexOf_Load(EOS(STATIC_9265), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub1432574895), java.lang.Object(o26852sub1432574895))), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) -> f9279_0_indexOf_FieldAccess(EOS(STATIC_9279), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub1432574895), java.lang.Object(o26852sub1432574895))), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) :|: TRUE 37.72/13.07 f9279_0_indexOf_FieldAccess(EOS(STATIC_9279), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub1432574895), java.lang.Object(o26852sub1432574895))), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) -> f9288_0_indexOf_Store(EOS(STATIC_9288), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(o26852sub0), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) :|: TRUE 37.72/13.07 f9288_0_indexOf_Store(EOS(STATIC_9288), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(o26852sub0), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) -> f9295_0_indexOf_JMP(EOS(STATIC_9295), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(o26852sub0), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) :|: TRUE 37.72/13.07 f9295_0_indexOf_JMP(EOS(STATIC_9295), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(o26852sub0), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) -> f9301_0_indexOf_Load(EOS(STATIC_9301), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(o26852sub0), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) :|: TRUE 37.72/13.07 f9301_0_indexOf_Load(EOS(STATIC_9301), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(o26852sub0), o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850) -> f9118_0_indexOf_Load(EOS(STATIC_9118), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920), java.lang.Object(o26852sub602920)))))))))), java.lang.Object(o26852sub0), o26850[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o25302, o26852[LinkedList$Entry.next]o26850, o26850[LinkedList$Entry.next]o26852) :|: o26850[LinkedList$Entry.next]o26852 = 1 37.72/13.07 Combined rules. Obtained 2 IRulesP rules: 37.72/13.07 f9143_0_indexOf_EQ(EOS(STATIC_9143), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975:0, java.lang.Object(o25304sub-1431971975:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27172sub1432574120:0), java.lang.Object(o26848sub1432574120:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27172sub1432574120:0), java.lang.Object(o26848sub1432574120:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o253031431497676:0, java.lang.Object(o25304sub1431497676:0))), o25304[LinkedList$Entry.next]o25302:0, o25305[LinkedList$Entry.next]o25304:0, o25304[LinkedList$Entry.next]o25305:0, o25305[LinkedList$Entry.next]o25302:0) -> f9143_0_indexOf_EQ(EOS(STATIC_9143), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975:0, java.lang.Object(o25304sub-1431971975:0)))))))), java.lang.Object(o26848sub0:0), java.lang.Object(o26848sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o253031431497676:1, java.lang.Object(o25304sub1431497676:1))), o25304[LinkedList$Entry.next]o25302:0, o26848[LinkedList$Entry.next]o25304:0, o25304[LinkedList$Entry.next]o26848:0, o26848[LinkedList$Entry.next]o25302:0) :|: o25304[LinkedList$Entry.next]o25305:0 > 0 && o25305[LinkedList$Entry.next]o25304:0 > 0 && o25305[LinkedList$Entry.next]o25302:0 > -1 && o26848[LinkedList$Entry.next]o25302:0 < o25305[LinkedList$Entry.next]o25302:0 && o26848[LinkedList$Entry.next]o25304:0 < o25305[LinkedList$Entry.next]o25304:0 && o26848[LinkedList$Entry.next]o25302:0 > 0 && o25304[LinkedList$Entry.next]o26848:0 > o25304[LinkedList$Entry.next]o25305:0 37.72/13.07 f9143_0_indexOf_EQ(EOS(STATIC_9143), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920:0), java.lang.Object(o26852sub602920:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub1432574895:0), java.lang.Object(o26852sub1432574895:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub1432574895:0), java.lang.Object(o26852sub1432574895:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o253031431497676:0, java.lang.Object(o25304sub1431497676:0))), o25304[LinkedList$Entry.next]o25302:0, o25305[LinkedList$Entry.next]o25304:0, o25305[LinkedList$Entry.next]o25304:0, o25304[LinkedList$Entry.next]o25302:0) -> f9143_0_indexOf_EQ(EOS(STATIC_9143), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25303-1431971975:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27173sub602920:0), java.lang.Object(o26852sub602920:0)))))))))), java.lang.Object(o26852sub0:0), java.lang.Object(o26852sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o253031431497676:1, java.lang.Object(o25304sub1431497676:1))), o26850[LinkedList$Entry.next]o25302:0, o26852[LinkedList$Entry.next]o26850:0, 1, o26852[LinkedList$Entry.next]o25302:0) :|: o25304[LinkedList$Entry.next]o25302:0 > -1 && o26852[LinkedList$Entry.next]o25302:0 < o25304[LinkedList$Entry.next]o25302:0 && o26852[LinkedList$Entry.next]o26850:0 < o25305[LinkedList$Entry.next]o25304:0 && o26852[LinkedList$Entry.next]o25302:0 > 0 && o25305[LinkedList$Entry.next]o25304:0 > -1 37.72/13.07 Filtered constant ground arguments: 37.72/13.07 f9143_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f9143_0_indexOf_EQ(x2, x3, x4, x5, x6, x7, x8, x9) 37.72/13.07 EOS(x1) -> EOS 37.72/13.07 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 37.72/13.07 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 37.72/13.07 Filtered duplicate arguments: 37.72/13.07 f9143_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8) -> f9143_0_indexOf_EQ(x1, x3, x4, x5, x6, x7, x8) 37.72/13.07 Filtered unneeded arguments: 37.72/13.07 f9143_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7) -> f9143_0_indexOf_EQ(x1, x2, x4, x5, x6, x7) 37.72/13.07 Finished conversion. Obtained 2 rules.P rules: 37.72/13.07 f9143_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25303-1431971975:0, java.lang.Object(o25304sub-1431971975:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27172sub1432574120:0), java.lang.Object(o26848sub1432574120:0))), o25304[LinkedList$Entry.next]o25302:0, o25305[LinkedList$Entry.next]o25304:0, o25304[LinkedList$Entry.next]o25305:0, o25305[LinkedList$Entry.next]o25302:0, o25303-1431971975:0) -> f9143_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25303-1431971975:0, java.lang.Object(o25304sub-1431971975:0)))))))), java.lang.Object(o26848sub0:0), o25304[LinkedList$Entry.next]o25302:0, o26848[LinkedList$Entry.next]o25304:0, o25304[LinkedList$Entry.next]o26848:0, o26848[LinkedList$Entry.next]o25302:0, o25303-1431971975:0) :|: o25305[LinkedList$Entry.next]o25304:0 > 0 && o25304[LinkedList$Entry.next]o25305:0 > 0 && o25305[LinkedList$Entry.next]o25302:0 > -1 && o26848[LinkedList$Entry.next]o25302:0 < o25305[LinkedList$Entry.next]o25302:0 && o26848[LinkedList$Entry.next]o25304:0 < o25305[LinkedList$Entry.next]o25304:0 && o25304[LinkedList$Entry.next]o26848:0 > o25304[LinkedList$Entry.next]o25305:0 && o26848[LinkedList$Entry.next]o25302:0 > 0 37.72/13.07 f9143_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25303-1431971975:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27173sub602920:0), java.lang.Object(o26852sub602920:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27173sub1432574895:0), java.lang.Object(o26852sub1432574895:0))), o25304[LinkedList$Entry.next]o25302:0, o25305[LinkedList$Entry.next]o25304:0, o25305[LinkedList$Entry.next]o25304:0, o25304[LinkedList$Entry.next]o25302:0, o25303-1431971975:0) -> f9143_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25303-1431971975:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27173sub602920:0), java.lang.Object(o26852sub602920:0)))))))))), java.lang.Object(o26852sub0:0), o26850[LinkedList$Entry.next]o25302:0, o26852[LinkedList$Entry.next]o26850:0, 1, o26852[LinkedList$Entry.next]o25302:0, o25303-1431971975:0) :|: o26852[LinkedList$Entry.next]o25302:0 < o25304[LinkedList$Entry.next]o25302:0 && o25304[LinkedList$Entry.next]o25302:0 > -1 && o26852[LinkedList$Entry.next]o26850:0 < o25305[LinkedList$Entry.next]o25304:0 && o25305[LinkedList$Entry.next]o25304:0 > -1 && o26852[LinkedList$Entry.next]o25302:0 > 0 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (80) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f9143_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25303-1431971975:0, java.lang.Object(o25304sub-1431971975:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27172sub1432574120:0), java.lang.Object(o26848sub1432574120:0))), o25304[LinkedList$Entry.next]o25302:0, o25305[LinkedList$Entry.next]o25304:0, o25304[LinkedList$Entry.next]o25305:0, o25305[LinkedList$Entry.next]o25302:0, o25303-1431971975:0) -> f9143_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25303-1431971975:0, java.lang.Object(o25304sub-1431971975:0)))))))), java.lang.Object(o26848sub0:0), o25304[LinkedList$Entry.next]o25302:0, o26848[LinkedList$Entry.next]o25304:0, o25304[LinkedList$Entry.next]o26848:0, o26848[LinkedList$Entry.next]o25302:0, o25303-1431971975:0) :|: o25305[LinkedList$Entry.next]o25304:0 > 0 && o25304[LinkedList$Entry.next]o25305:0 > 0 && o25305[LinkedList$Entry.next]o25302:0 > -1 && o26848[LinkedList$Entry.next]o25302:0 < o25305[LinkedList$Entry.next]o25302:0 && o26848[LinkedList$Entry.next]o25304:0 < o25305[LinkedList$Entry.next]o25304:0 && o25304[LinkedList$Entry.next]o26848:0 > o25304[LinkedList$Entry.next]o25305:0 && o26848[LinkedList$Entry.next]o25302:0 > 0 37.72/13.07 f9143_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) -> f9143_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.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (81) IRSFormatTransformerProof (EQUIVALENT) 37.72/13.07 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (82) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f9143_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25303-1431971975:0, java.lang.Object(o25304sub-1431971975:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27172sub1432574120:0), java.lang.Object(o26848sub1432574120:0))), o25304[LinkedList$Entry.next]o25302:0, o25305[LinkedList$Entry.next]o25304:0, o25304[LinkedList$Entry.next]o25305:0, o25305[LinkedList$Entry.next]o25302:0, o25303-1431971975:0) -> f9143_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25303-1431971975:0, java.lang.Object(o25304sub-1431971975:0)))))))), java.lang.Object(o26848sub0:0), o25304[LinkedList$Entry.next]o25302:0, o26848[LinkedList$Entry.next]o25304:0, o25304[LinkedList$Entry.next]o26848:0, o26848[LinkedList$Entry.next]o25302:0, o25303-1431971975:0) :|: o25305[LinkedList$Entry.next]o25304:0 > 0 && o25304[LinkedList$Entry.next]o25305:0 > 0 && o25305[LinkedList$Entry.next]o25302:0 > -1 && o26848[LinkedList$Entry.next]o25302:0 < o25305[LinkedList$Entry.next]o25302:0 && o26848[LinkedList$Entry.next]o25304:0 < o25305[LinkedList$Entry.next]o25304:0 && o25304[LinkedList$Entry.next]o26848:0 > o25304[LinkedList$Entry.next]o25305:0 && o26848[LinkedList$Entry.next]o25302:0 > 0 37.72/13.07 f9143_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) -> f9143_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.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (83) IRSwTTerminationDigraphProof (EQUIVALENT) 37.72/13.07 Constructed termination digraph! 37.72/13.07 Nodes: 37.72/13.07 (1) f9143_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25303-1431971975:0, java.lang.Object(o25304sub-1431971975:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27172sub1432574120:0), java.lang.Object(o26848sub1432574120:0))), o25304[LinkedList$Entry.next]o25302:0, o25305[LinkedList$Entry.next]o25304:0, o25304[LinkedList$Entry.next]o25305:0, o25305[LinkedList$Entry.next]o25302:0, o25303-1431971975:0) -> f9143_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25303-1431971975:0, java.lang.Object(o25304sub-1431971975:0)))))))), java.lang.Object(o26848sub0:0), o25304[LinkedList$Entry.next]o25302:0, o26848[LinkedList$Entry.next]o25304:0, o25304[LinkedList$Entry.next]o26848:0, o26848[LinkedList$Entry.next]o25302:0, o25303-1431971975:0) :|: o25305[LinkedList$Entry.next]o25304:0 > 0 && o25304[LinkedList$Entry.next]o25305:0 > 0 && o25305[LinkedList$Entry.next]o25302:0 > -1 && o26848[LinkedList$Entry.next]o25302:0 < o25305[LinkedList$Entry.next]o25302:0 && o26848[LinkedList$Entry.next]o25304:0 < o25305[LinkedList$Entry.next]o25304:0 && o25304[LinkedList$Entry.next]o26848:0 > o25304[LinkedList$Entry.next]o25305:0 && o26848[LinkedList$Entry.next]o25302:0 > 0 37.72/13.07 (2) f9143_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) -> f9143_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.72/13.07 37.72/13.07 Arcs: 37.72/13.07 (1) -> (1), (2) 37.72/13.07 (2) -> (1), (2) 37.72/13.07 37.72/13.07 This digraph is fully evaluated! 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (84) 37.72/13.07 Obligation: 37.72/13.07 37.72/13.07 Termination digraph: 37.72/13.07 Nodes: 37.72/13.07 (1) f9143_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25303-1431971975:0, java.lang.Object(o25304sub-1431971975:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27172sub1432574120:0), java.lang.Object(o26848sub1432574120:0))), o25304[LinkedList$Entry.next]o25302:0, o25305[LinkedList$Entry.next]o25304:0, o25304[LinkedList$Entry.next]o25305:0, o25305[LinkedList$Entry.next]o25302:0, o25303-1431971975:0) -> f9143_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25303-1431971975:0, java.lang.Object(o25304sub-1431971975:0)))))))), java.lang.Object(o26848sub0:0), o25304[LinkedList$Entry.next]o25302:0, o26848[LinkedList$Entry.next]o25304:0, o25304[LinkedList$Entry.next]o26848:0, o26848[LinkedList$Entry.next]o25302:0, o25303-1431971975:0) :|: o25305[LinkedList$Entry.next]o25304:0 > 0 && o25304[LinkedList$Entry.next]o25305:0 > 0 && o25305[LinkedList$Entry.next]o25302:0 > -1 && o26848[LinkedList$Entry.next]o25302:0 < o25305[LinkedList$Entry.next]o25302:0 && o26848[LinkedList$Entry.next]o25304:0 < o25305[LinkedList$Entry.next]o25304:0 && o25304[LinkedList$Entry.next]o26848:0 > o25304[LinkedList$Entry.next]o25305:0 && o26848[LinkedList$Entry.next]o25302:0 > 0 37.72/13.07 (2) f9143_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) -> f9143_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.72/13.07 37.72/13.07 Arcs: 37.72/13.07 (1) -> (1), (2) 37.72/13.07 (2) -> (1), (2) 37.72/13.07 37.72/13.07 This digraph is fully evaluated! 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (85) IntTRSCompressionProof (EQUIVALENT) 37.72/13.07 Compressed rules. 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (86) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f9143_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25303-1431971975:0:0, java.lang.Object(o25304sub-1431971975:0:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27172sub1432574120:0:0), java.lang.Object(o26848sub1432574120:0:0))), o25304[LinkedList$Entry.next]o25302:0:0, o25305[LinkedList$Entry.next]o25304:0:0, o25304[LinkedList$Entry.next]o25305:0:0, o25305[LinkedList$Entry.next]o25302:0:0, o25303-1431971975:0:0) -> f9143_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25303-1431971975:0:0, java.lang.Object(o25304sub-1431971975:0:0)))))))), java.lang.Object(o26848sub0:0:0), o25304[LinkedList$Entry.next]o25302:0:0, o26848[LinkedList$Entry.next]o25304:0:0, o25304[LinkedList$Entry.next]o26848:0:0, o26848[LinkedList$Entry.next]o25302:0:0, o25303-1431971975:0:0) :|: o25304[LinkedList$Entry.next]o26848:0:0 > o25304[LinkedList$Entry.next]o25305:0:0 && o26848[LinkedList$Entry.next]o25302:0:0 > 0 && o26848[LinkedList$Entry.next]o25304:0:0 < o25305[LinkedList$Entry.next]o25304:0:0 && o26848[LinkedList$Entry.next]o25302:0:0 < o25305[LinkedList$Entry.next]o25302:0:0 && o25305[LinkedList$Entry.next]o25302:0:0 > -1 && o25304[LinkedList$Entry.next]o25305:0:0 > 0 && o25305[LinkedList$Entry.next]o25304:0:0 > 0 37.72/13.07 f9143_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) -> f9143_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.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (87) TempFilterProof (SOUND) 37.72/13.07 Used the following sort dictionary for filtering: 37.72/13.07 f9143_0_indexOf_EQ(VARIABLE, VARIABLE, VARIABLE, INTEGER, VARIABLE, INTEGER, VARIABLE) 37.72/13.07 java.lang.Object(VARIABLE) 37.72/13.07 javaUtilEx.AbstractCollection(VARIABLE) 37.72/13.07 javaUtilEx.AbstractList(VARIABLE) 37.72/13.07 javaUtilEx.AbstractSequentialList(VARIABLE) 37.72/13.07 javaUtilEx.LinkedList(VARIABLE) 37.72/13.07 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 37.72/13.07 Replaced non-predefined constructor symbols by 0. 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (88) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f9143_0_indexOf_EQ(c, c1, o25304[LinkedList$Entry.next]o25302:0:0, o25305[LinkedList$Entry.next]o25304:0:0, o25304[LinkedList$Entry.next]o25305:0:0, o25305[LinkedList$Entry.next]o25302:0:0, o25303-1431971975:0:0) -> f9143_0_indexOf_EQ(c2, c3, o25304[LinkedList$Entry.next]o25302:0:0, o26848[LinkedList$Entry.next]o25304:0:0, o25304[LinkedList$Entry.next]o26848:0:0, o26848[LinkedList$Entry.next]o25302:0:0, o25303-1431971975:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o25304[LinkedList$Entry.next]o26848:0:0 > o25304[LinkedList$Entry.next]o25305:0:0 && o26848[LinkedList$Entry.next]o25302:0:0 > 0 && o26848[LinkedList$Entry.next]o25304:0:0 < o25305[LinkedList$Entry.next]o25304:0:0 && o26848[LinkedList$Entry.next]o25302:0:0 < o25305[LinkedList$Entry.next]o25302:0:0 && o25305[LinkedList$Entry.next]o25302:0:0 > -1 && o25304[LinkedList$Entry.next]o25305:0:0 > 0 && o25305[LinkedList$Entry.next]o25304:0:0 > 0) 37.72/13.07 f9143_0_indexOf_EQ(c4, c5, x5:0, x6:0, x6:0, x5:0, x:0) -> f9143_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.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (89) RankingReductionPairProof (EQUIVALENT) 37.72/13.07 Interpretation: 37.72/13.07 [ f9143_0_indexOf_EQ ] = f9143_0_indexOf_EQ_6 37.72/13.07 37.72/13.07 The following rules are decreasing: 37.72/13.07 f9143_0_indexOf_EQ(c, c1, o25304[LinkedList$Entry.next]o25302:0:0, o25305[LinkedList$Entry.next]o25304:0:0, o25304[LinkedList$Entry.next]o25305:0:0, o25305[LinkedList$Entry.next]o25302:0:0, o25303-1431971975:0:0) -> f9143_0_indexOf_EQ(c2, c3, o25304[LinkedList$Entry.next]o25302:0:0, o26848[LinkedList$Entry.next]o25304:0:0, o25304[LinkedList$Entry.next]o26848:0:0, o26848[LinkedList$Entry.next]o25302:0:0, o25303-1431971975:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o25304[LinkedList$Entry.next]o26848:0:0 > o25304[LinkedList$Entry.next]o25305:0:0 && o26848[LinkedList$Entry.next]o25302:0:0 > 0 && o26848[LinkedList$Entry.next]o25304:0:0 < o25305[LinkedList$Entry.next]o25304:0:0 && o26848[LinkedList$Entry.next]o25302:0:0 < o25305[LinkedList$Entry.next]o25302:0:0 && o25305[LinkedList$Entry.next]o25302:0:0 > -1 && o25304[LinkedList$Entry.next]o25305:0:0 > 0 && o25305[LinkedList$Entry.next]o25304:0:0 > 0) 37.72/13.07 f9143_0_indexOf_EQ(c4, c5, x5:0, x6:0, x6:0, x5:0, x:0) -> f9143_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.72/13.07 37.72/13.07 The following rules are bounded: 37.72/13.07 f9143_0_indexOf_EQ(c, c1, o25304[LinkedList$Entry.next]o25302:0:0, o25305[LinkedList$Entry.next]o25304:0:0, o25304[LinkedList$Entry.next]o25305:0:0, o25305[LinkedList$Entry.next]o25302:0:0, o25303-1431971975:0:0) -> f9143_0_indexOf_EQ(c2, c3, o25304[LinkedList$Entry.next]o25302:0:0, o26848[LinkedList$Entry.next]o25304:0:0, o25304[LinkedList$Entry.next]o26848:0:0, o26848[LinkedList$Entry.next]o25302:0:0, o25303-1431971975:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o25304[LinkedList$Entry.next]o26848:0:0 > o25304[LinkedList$Entry.next]o25305:0:0 && o26848[LinkedList$Entry.next]o25302:0:0 > 0 && o26848[LinkedList$Entry.next]o25304:0:0 < o25305[LinkedList$Entry.next]o25304:0:0 && o26848[LinkedList$Entry.next]o25302:0:0 < o25305[LinkedList$Entry.next]o25302:0:0 && o25305[LinkedList$Entry.next]o25302:0:0 > -1 && o25304[LinkedList$Entry.next]o25305:0:0 > 0 && o25305[LinkedList$Entry.next]o25304:0:0 > 0) 37.72/13.07 f9143_0_indexOf_EQ(c4, c5, x5:0, x6:0, x6:0, x5:0, x:0) -> f9143_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.72/13.07 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (90) 37.72/13.07 YES 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (91) 37.72/13.07 Obligation: 37.72/13.07 SCC of termination graph based on JBC Program. 37.72/13.07 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateIndexOf.main([Ljava/lang/String;)V 37.72/13.07 SCC calls the following helper methods: 37.72/13.07 Performed SCC analyses: 37.72/13.07 *Used field analysis yielded the following read fields: 37.72/13.07 *javaUtilEx.LinkedList$Entry: [element, next] 37.72/13.07 *javaUtilEx.LinkedList: [header] 37.72/13.07 *Marker field analysis yielded the following relations that could be markers: 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (92) SCCToIRSProof (SOUND) 37.72/13.07 Transformed FIGraph SCCs to intTRSs. Log: 37.72/13.07 Generated rules. Obtained 28 IRulesP rules: 37.72/13.07 f9141_0_indexOf_EQ(EOS(STATIC_9141), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o25227sub0), java.lang.Object(o25227sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o252241431469838, java.lang.Object(o25225sub1431469838))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o25227, o25227[LinkedList$Entry.next]o25223) -> f9149_0_indexOf_Load(EOS(STATIC_9149), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o25227sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o25227, o25227[LinkedList$Entry.next]o25223) :|: TRUE 37.72/13.07 f9149_0_indexOf_Load(EOS(STATIC_9149), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o25227sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o25227, o25227[LinkedList$Entry.next]o25223) -> f9153_0_indexOf_FieldAccess(EOS(STATIC_9153), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o25227sub0), java.lang.Object(o25227sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o25227, o25227[LinkedList$Entry.next]o25223) :|: TRUE 37.72/13.07 f9153_0_indexOf_FieldAccess(EOS(STATIC_9153), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o25227sub0), java.lang.Object(o25227sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o25227, o25227[LinkedList$Entry.next]o25223) -> f9183_0_indexOf_FieldAccess(EOS(STATIC_9183), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o25227sub0), java.lang.Object(o25227sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25225[LinkedList$Entry.next]o25227, o25227[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25225) :|: o25227[LinkedList$Entry.next]o25225 > 0 && o25225[LinkedList$Entry.next]o25227 > 0 37.72/13.07 f9153_0_indexOf_FieldAccess(EOS(STATIC_9153), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o26136sub-1432027651)))))))), java.lang.Object(o26136sub0), java.lang.Object(o26136sub0), o25226[LinkedList$Entry.previous]o25223, o26136[LinkedList$Entry.next]o25223, o26136[LinkedList$Entry.next]o26136, o26136[LinkedList$Entry.next]o26136, o26136[LinkedList$Entry.next]o25223) -> f9184_0_indexOf_FieldAccess(EOS(STATIC_9184), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o26136sub-1432027651)))))))), java.lang.Object(o26136sub0), java.lang.Object(o26136sub0), o25226[LinkedList$Entry.previous]o25223, o26136[LinkedList$Entry.next]o25223, o26136[LinkedList$Entry.next]o26136) :|: TRUE 37.72/13.07 f9183_0_indexOf_FieldAccess(EOS(STATIC_9183), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268391432573221, java.lang.Object(o26840sub1432573221))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268391432573221, java.lang.Object(o26840sub1432573221))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25225[LinkedList$Entry.next]o26838, o26838[LinkedList$Entry.next]o25223, o26838[LinkedList$Entry.next]o25225) -> f9195_0_indexOf_FieldAccess(EOS(STATIC_9195), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268391432573221, java.lang.Object(o26840sub1432573221))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268391432573221, java.lang.Object(o26840sub1432573221))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25225[LinkedList$Entry.next]o26838, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225) :|: o26840[LinkedList$Entry.next]o25223 < o26838[LinkedList$Entry.next]o25223 && o26838[LinkedList$Entry.next]o25223 >= 0 && o26840[LinkedList$Entry.next]o25225 < o26838[LinkedList$Entry.next]o25225 && o26838[LinkedList$Entry.next]o25225 >= 0 37.72/13.07 f9195_0_indexOf_FieldAccess(EOS(STATIC_9195), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268391432573221, java.lang.Object(o26840sub1432573221))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268391432573221, java.lang.Object(o26840sub1432573221))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25225[LinkedList$Entry.next]o26838, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225) -> f9211_0_indexOf_NONNULL(EOS(STATIC_9211), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268391432573221, java.lang.Object(o26840sub1432573221))), o268390, o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25225[LinkedList$Entry.next]o26838, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225) :|: TRUE 37.72/13.07 f9211_0_indexOf_NONNULL(EOS(STATIC_9211), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27170sub1432573221), java.lang.Object(o26840sub1432573221))), java.lang.Object(o27170sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25225[LinkedList$Entry.next]o26838, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225) -> f9227_0_indexOf_NONNULL(EOS(STATIC_9227), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27170sub1432573221), java.lang.Object(o26840sub1432573221))), java.lang.Object(o27170sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25225[LinkedList$Entry.next]o26838, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225) :|: TRUE 37.72/13.07 f9227_0_indexOf_NONNULL(EOS(STATIC_9227), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27170sub1432573221), java.lang.Object(o26840sub1432573221))), java.lang.Object(o27170sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25225[LinkedList$Entry.next]o26838, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225) -> f9244_0_indexOf_Inc(EOS(STATIC_9244), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27170sub1432573221), java.lang.Object(o26840sub1432573221))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25225[LinkedList$Entry.next]o26838, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225) :|: TRUE 37.72/13.07 f9244_0_indexOf_Inc(EOS(STATIC_9244), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27170sub1432573221), java.lang.Object(o26840sub1432573221))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25225[LinkedList$Entry.next]o26838, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225) -> f9261_0_indexOf_Load(EOS(STATIC_9261), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27170sub1432573221), java.lang.Object(o26840sub1432573221))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25225[LinkedList$Entry.next]o26838, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225) :|: TRUE 37.72/13.07 f9261_0_indexOf_Load(EOS(STATIC_9261), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27170sub1432573221), java.lang.Object(o26840sub1432573221))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25225[LinkedList$Entry.next]o26838, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225) -> f9275_0_indexOf_FieldAccess(EOS(STATIC_9275), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27170sub1432573221), java.lang.Object(o26840sub1432573221))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25225[LinkedList$Entry.next]o26838, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225) :|: TRUE 37.72/13.07 f9275_0_indexOf_FieldAccess(EOS(STATIC_9275), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27170sub1432573221), java.lang.Object(o26840sub1432573221))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25225[LinkedList$Entry.next]o26838, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225) -> f9284_0_indexOf_Store(EOS(STATIC_9284), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o26840sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o26840) :|: o25225[LinkedList$Entry.next]o26840 > o25225[LinkedList$Entry.next]o26838 && o25225[LinkedList$Entry.next]o26838 >= 0 37.72/13.07 f9284_0_indexOf_Store(EOS(STATIC_9284), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o26840sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o26840) -> f9291_0_indexOf_JMP(EOS(STATIC_9291), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o26840sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o26840) :|: TRUE 37.72/13.07 f9291_0_indexOf_JMP(EOS(STATIC_9291), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o26840sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o26840) -> f9298_0_indexOf_Load(EOS(STATIC_9298), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o26840sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o26840) :|: TRUE 37.72/13.07 f9298_0_indexOf_Load(EOS(STATIC_9298), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o26840sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o26840) -> f9116_0_indexOf_Load(EOS(STATIC_9116), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o26840sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25223, o26840[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o26840) :|: TRUE 37.72/13.07 f9116_0_indexOf_Load(EOS(STATIC_9116), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o25227sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o25227) -> f9123_0_indexOf_Load(EOS(STATIC_9123), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o25227sub0), java.lang.Object(o25227sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o25227) :|: TRUE 37.72/13.07 f9123_0_indexOf_Load(EOS(STATIC_9123), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o25227sub0), java.lang.Object(o25227sub0), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o25227) -> f9129_0_indexOf_FieldAccess(EOS(STATIC_9129), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o25227sub0), java.lang.Object(o25227sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o25227) :|: TRUE 37.72/13.07 f9129_0_indexOf_FieldAccess(EOS(STATIC_9129), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o25227sub0), java.lang.Object(o25227sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o25227) -> f9135_0_indexOf_EQ(EOS(STATIC_9135), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o25227sub0), java.lang.Object(o25227sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o252241431469838, java.lang.Object(o25225sub1431469838))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o25227) :|: TRUE 37.72/13.07 f9135_0_indexOf_EQ(EOS(STATIC_9135), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o25227sub0), java.lang.Object(o25227sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o252241431469838, java.lang.Object(o25225sub1431469838))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o25227) -> f9141_0_indexOf_EQ(EOS(STATIC_9141), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(o25225sub-1432027651)))))))), java.lang.Object(o25227sub0), java.lang.Object(o25227sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o252241431469838, java.lang.Object(o25225sub1431469838))), o25226[LinkedList$Entry.previous]o25223, o25225[LinkedList$Entry.next]o25223, o25227[LinkedList$Entry.next]o25225, o25225[LinkedList$Entry.next]o25227, o25227[LinkedList$Entry.next]o25223) :|: o25227[LinkedList$Entry.next]o25223 > 0 37.72/13.07 f9184_0_indexOf_FieldAccess(EOS(STATIC_9184), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o26843546345, java.lang.Object(o26844sub546345)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268431432573996, java.lang.Object(o26844sub1432573996))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268431432573996, java.lang.Object(o26844sub1432573996))), o25226[LinkedList$Entry.previous]o25223, o26842[LinkedList$Entry.next]o25223, o26842[LinkedList$Entry.next]o26842) -> f9196_0_indexOf_FieldAccess(EOS(STATIC_9196), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o26843546345, java.lang.Object(o26844sub546345)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268431432573996, java.lang.Object(o26844sub1432573996))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268431432573996, java.lang.Object(o26844sub1432573996))), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) :|: o26844[LinkedList$Entry.next]o25223 < o26842[LinkedList$Entry.next]o25223 && o26842[LinkedList$Entry.next]o25223 >= 0 && o26844[LinkedList$Entry.next]o26842 < o26842[LinkedList$Entry.next]o26842 && o26842[LinkedList$Entry.next]o26842 >= 0 37.72/13.07 f9196_0_indexOf_FieldAccess(EOS(STATIC_9196), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o26843546345, java.lang.Object(o26844sub546345)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268431432573996, java.lang.Object(o26844sub1432573996))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268431432573996, java.lang.Object(o26844sub1432573996))), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) -> f9212_0_indexOf_NONNULL(EOS(STATIC_9212), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o26843546345, java.lang.Object(o26844sub546345)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o268431432573996, java.lang.Object(o26844sub1432573996))), o268430, o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) :|: TRUE 37.72/13.07 f9212_0_indexOf_NONNULL(EOS(STATIC_9212), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub1432573996), java.lang.Object(o26844sub1432573996))), java.lang.Object(o27171sub0), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) -> f9229_0_indexOf_NONNULL(EOS(STATIC_9229), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub1432573996), java.lang.Object(o26844sub1432573996))), java.lang.Object(o27171sub0), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) :|: TRUE 37.72/13.07 f9229_0_indexOf_NONNULL(EOS(STATIC_9229), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub1432573996), java.lang.Object(o26844sub1432573996))), java.lang.Object(o27171sub0), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) -> f9246_0_indexOf_Inc(EOS(STATIC_9246), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub1432573996), java.lang.Object(o26844sub1432573996))), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) :|: TRUE 37.72/13.07 f9246_0_indexOf_Inc(EOS(STATIC_9246), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub1432573996), java.lang.Object(o26844sub1432573996))), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) -> f9263_0_indexOf_Load(EOS(STATIC_9263), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub1432573996), java.lang.Object(o26844sub1432573996))), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) :|: TRUE 37.72/13.07 f9263_0_indexOf_Load(EOS(STATIC_9263), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub1432573996), java.lang.Object(o26844sub1432573996))), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) -> f9277_0_indexOf_FieldAccess(EOS(STATIC_9277), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub1432573996), java.lang.Object(o26844sub1432573996))), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) :|: TRUE 37.72/13.07 f9277_0_indexOf_FieldAccess(EOS(STATIC_9277), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub1432573996), java.lang.Object(o26844sub1432573996))), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) -> f9286_0_indexOf_Store(EOS(STATIC_9286), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(o26844sub0), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) :|: TRUE 37.72/13.07 f9286_0_indexOf_Store(EOS(STATIC_9286), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(o26844sub0), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) -> f9293_0_indexOf_JMP(EOS(STATIC_9293), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(o26844sub0), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) :|: TRUE 37.72/13.07 f9293_0_indexOf_JMP(EOS(STATIC_9293), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(o26844sub0), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) -> f9299_0_indexOf_Load(EOS(STATIC_9299), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(o26844sub0), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) :|: TRUE 37.72/13.07 f9299_0_indexOf_Load(EOS(STATIC_9299), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(o26844sub0), o25226[LinkedList$Entry.previous]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842) -> f9116_0_indexOf_Load(EOS(STATIC_9116), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345), java.lang.Object(o26844sub546345)))))))))), java.lang.Object(o26844sub0), o25226[LinkedList$Entry.previous]o25223, o26842[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o25223, o26844[LinkedList$Entry.next]o26842, o26842[LinkedList$Entry.next]o26844) :|: o26842[LinkedList$Entry.next]o26844 = 1 37.72/13.07 Combined rules. Obtained 2 IRulesP rules: 37.72/13.07 f9141_0_indexOf_EQ(EOS(STATIC_9141), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651:0, java.lang.Object(o25225sub-1432027651:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27170sub1432573221:0), java.lang.Object(o26840sub1432573221:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27170sub1432573221:0), java.lang.Object(o26840sub1432573221:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o252241431469838:0, java.lang.Object(o25225sub1431469838:0))), o25226[LinkedList$Entry.previous]o25223:0, o25225[LinkedList$Entry.next]o25223:0, o25227[LinkedList$Entry.next]o25225:0, o25225[LinkedList$Entry.next]o25227:0, o25227[LinkedList$Entry.next]o25223:0) -> f9141_0_indexOf_EQ(EOS(STATIC_9141), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651:0, java.lang.Object(o25225sub-1432027651:0)))))))), java.lang.Object(o26840sub0:0), java.lang.Object(o26840sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o252241431469838:1, java.lang.Object(o25225sub1431469838:1))), o25226[LinkedList$Entry.previous]o25223:0, o25225[LinkedList$Entry.next]o25223:0, o26840[LinkedList$Entry.next]o25225:0, o25225[LinkedList$Entry.next]o26840:0, o26840[LinkedList$Entry.next]o25223:0) :|: o25225[LinkedList$Entry.next]o25227:0 > 0 && o25227[LinkedList$Entry.next]o25225:0 > 0 && o25227[LinkedList$Entry.next]o25223:0 > -1 && o26840[LinkedList$Entry.next]o25223:0 < o25227[LinkedList$Entry.next]o25223:0 && o26840[LinkedList$Entry.next]o25225:0 < o25227[LinkedList$Entry.next]o25225:0 && o26840[LinkedList$Entry.next]o25223:0 > 0 && o25225[LinkedList$Entry.next]o26840:0 > o25225[LinkedList$Entry.next]o25227:0 37.72/13.07 f9141_0_indexOf_EQ(EOS(STATIC_9141), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345:0), java.lang.Object(o26844sub546345:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub1432573996:0), java.lang.Object(o26844sub1432573996:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub1432573996:0), java.lang.Object(o26844sub1432573996:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o252241431469838:0, java.lang.Object(o25225sub1431469838:0))), o25226[LinkedList$Entry.previous]o25223:0, o25225[LinkedList$Entry.next]o25223:0, o25227[LinkedList$Entry.next]o25225:0, o25227[LinkedList$Entry.next]o25225:0, o25225[LinkedList$Entry.next]o25223:0) -> f9141_0_indexOf_EQ(EOS(STATIC_9141), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o25224-1432027651:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o27171sub546345:0), java.lang.Object(o26844sub546345:0)))))))))), java.lang.Object(o26844sub0:0), java.lang.Object(o26844sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o252241431469838:1, java.lang.Object(o25225sub1431469838:1))), o25226[LinkedList$Entry.previous]o25223:0, o26842[LinkedList$Entry.next]o25223:0, o26844[LinkedList$Entry.next]o26842:0, 1, o26844[LinkedList$Entry.next]o25223:0) :|: o25225[LinkedList$Entry.next]o25223:0 > -1 && o26844[LinkedList$Entry.next]o25223:0 < o25225[LinkedList$Entry.next]o25223:0 && o26844[LinkedList$Entry.next]o26842:0 < o25227[LinkedList$Entry.next]o25225:0 && o26844[LinkedList$Entry.next]o25223:0 > 0 && o25227[LinkedList$Entry.next]o25225:0 > -1 37.72/13.07 Filtered constant ground arguments: 37.72/13.07 f9141_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f9141_0_indexOf_EQ(x2, x3, x4, x5, x6, x7, x8, x9, x10) 37.72/13.07 EOS(x1) -> EOS 37.72/13.07 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 37.72/13.07 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 37.72/13.07 Filtered duplicate arguments: 37.72/13.07 f9141_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f9141_0_indexOf_EQ(x1, x3, x4, x5, x6, x7, x8, x9) 37.72/13.07 Filtered unneeded arguments: 37.72/13.07 f9141_0_indexOf_EQ(x1, x2, x3, x4, x5, x6, x7, x8) -> f9141_0_indexOf_EQ(x1, x2, x5, x6, x7, x8) 37.72/13.07 Finished conversion. Obtained 2 rules.P rules: 37.72/13.07 f9141_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25224-1432027651:0, java.lang.Object(o25225sub-1432027651:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27170sub1432573221:0), java.lang.Object(o26840sub1432573221:0))), o25225[LinkedList$Entry.next]o25223:0, o25227[LinkedList$Entry.next]o25225:0, o25225[LinkedList$Entry.next]o25227:0, o25227[LinkedList$Entry.next]o25223:0, o25224-1432027651:0) -> f9141_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25224-1432027651:0, java.lang.Object(o25225sub-1432027651:0)))))))), java.lang.Object(o26840sub0:0), o25225[LinkedList$Entry.next]o25223:0, o26840[LinkedList$Entry.next]o25225:0, o25225[LinkedList$Entry.next]o26840:0, o26840[LinkedList$Entry.next]o25223:0, o25224-1432027651:0) :|: o25227[LinkedList$Entry.next]o25225:0 > 0 && o25225[LinkedList$Entry.next]o25227:0 > 0 && o25227[LinkedList$Entry.next]o25223:0 > -1 && o26840[LinkedList$Entry.next]o25223:0 < o25227[LinkedList$Entry.next]o25223:0 && o26840[LinkedList$Entry.next]o25225:0 < o25227[LinkedList$Entry.next]o25225:0 && o25225[LinkedList$Entry.next]o26840:0 > o25225[LinkedList$Entry.next]o25227:0 && o26840[LinkedList$Entry.next]o25223:0 > 0 37.72/13.07 f9141_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25224-1432027651:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27171sub546345:0), java.lang.Object(o26844sub546345:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27171sub1432573996:0), java.lang.Object(o26844sub1432573996:0))), o25225[LinkedList$Entry.next]o25223:0, o25227[LinkedList$Entry.next]o25225:0, o25227[LinkedList$Entry.next]o25225:0, o25225[LinkedList$Entry.next]o25223:0, o25224-1432027651:0) -> f9141_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25224-1432027651:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27171sub546345:0), java.lang.Object(o26844sub546345:0)))))))))), java.lang.Object(o26844sub0:0), o26842[LinkedList$Entry.next]o25223:0, o26844[LinkedList$Entry.next]o26842:0, 1, o26844[LinkedList$Entry.next]o25223:0, o25224-1432027651:0) :|: o26844[LinkedList$Entry.next]o25223:0 < o25225[LinkedList$Entry.next]o25223:0 && o25225[LinkedList$Entry.next]o25223:0 > -1 && o26844[LinkedList$Entry.next]o26842:0 < o25227[LinkedList$Entry.next]o25225:0 && o25227[LinkedList$Entry.next]o25225:0 > -1 && o26844[LinkedList$Entry.next]o25223:0 > 0 37.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (93) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f9141_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25224-1432027651:0, java.lang.Object(o25225sub-1432027651:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27170sub1432573221:0), java.lang.Object(o26840sub1432573221:0))), o25225[LinkedList$Entry.next]o25223:0, o25227[LinkedList$Entry.next]o25225:0, o25225[LinkedList$Entry.next]o25227:0, o25227[LinkedList$Entry.next]o25223:0, o25224-1432027651:0) -> f9141_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25224-1432027651:0, java.lang.Object(o25225sub-1432027651:0)))))))), java.lang.Object(o26840sub0:0), o25225[LinkedList$Entry.next]o25223:0, o26840[LinkedList$Entry.next]o25225:0, o25225[LinkedList$Entry.next]o26840:0, o26840[LinkedList$Entry.next]o25223:0, o25224-1432027651:0) :|: o25227[LinkedList$Entry.next]o25225:0 > 0 && o25225[LinkedList$Entry.next]o25227:0 > 0 && o25227[LinkedList$Entry.next]o25223:0 > -1 && o26840[LinkedList$Entry.next]o25223:0 < o25227[LinkedList$Entry.next]o25223:0 && o26840[LinkedList$Entry.next]o25225:0 < o25227[LinkedList$Entry.next]o25225:0 && o25225[LinkedList$Entry.next]o26840:0 > o25225[LinkedList$Entry.next]o25227:0 && o26840[LinkedList$Entry.next]o25223:0 > 0 37.72/13.07 f9141_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) -> f9141_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.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (94) IRSFormatTransformerProof (EQUIVALENT) 37.72/13.07 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (95) 37.72/13.07 Obligation: 37.72/13.07 Rules: 37.72/13.07 f9141_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25224-1432027651:0, java.lang.Object(o25225sub-1432027651:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27170sub1432573221:0), java.lang.Object(o26840sub1432573221:0))), o25225[LinkedList$Entry.next]o25223:0, o25227[LinkedList$Entry.next]o25225:0, o25225[LinkedList$Entry.next]o25227:0, o25227[LinkedList$Entry.next]o25223:0, o25224-1432027651:0) -> f9141_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25224-1432027651:0, java.lang.Object(o25225sub-1432027651:0)))))))), java.lang.Object(o26840sub0:0), o25225[LinkedList$Entry.next]o25223:0, o26840[LinkedList$Entry.next]o25225:0, o25225[LinkedList$Entry.next]o26840:0, o26840[LinkedList$Entry.next]o25223:0, o25224-1432027651:0) :|: o25227[LinkedList$Entry.next]o25225:0 > 0 && o25225[LinkedList$Entry.next]o25227:0 > 0 && o25227[LinkedList$Entry.next]o25223:0 > -1 && o26840[LinkedList$Entry.next]o25223:0 < o25227[LinkedList$Entry.next]o25223:0 && o26840[LinkedList$Entry.next]o25225:0 < o25227[LinkedList$Entry.next]o25225:0 && o25225[LinkedList$Entry.next]o26840:0 > o25225[LinkedList$Entry.next]o25227:0 && o26840[LinkedList$Entry.next]o25223:0 > 0 37.72/13.07 f9141_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) -> f9141_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.72/13.07 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (96) IRSwTTerminationDigraphProof (EQUIVALENT) 37.72/13.07 Constructed termination digraph! 37.72/13.07 Nodes: 37.72/13.07 (1) f9141_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25224-1432027651:0, java.lang.Object(o25225sub-1432027651:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27170sub1432573221:0), java.lang.Object(o26840sub1432573221:0))), o25225[LinkedList$Entry.next]o25223:0, o25227[LinkedList$Entry.next]o25225:0, o25225[LinkedList$Entry.next]o25227:0, o25227[LinkedList$Entry.next]o25223:0, o25224-1432027651:0) -> f9141_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25224-1432027651:0, java.lang.Object(o25225sub-1432027651:0)))))))), java.lang.Object(o26840sub0:0), o25225[LinkedList$Entry.next]o25223:0, o26840[LinkedList$Entry.next]o25225:0, o25225[LinkedList$Entry.next]o26840:0, o26840[LinkedList$Entry.next]o25223:0, o25224-1432027651:0) :|: o25227[LinkedList$Entry.next]o25225:0 > 0 && o25225[LinkedList$Entry.next]o25227:0 > 0 && o25227[LinkedList$Entry.next]o25223:0 > -1 && o26840[LinkedList$Entry.next]o25223:0 < o25227[LinkedList$Entry.next]o25223:0 && o26840[LinkedList$Entry.next]o25225:0 < o25227[LinkedList$Entry.next]o25225:0 && o25225[LinkedList$Entry.next]o26840:0 > o25225[LinkedList$Entry.next]o25227:0 && o26840[LinkedList$Entry.next]o25223:0 > 0 37.72/13.07 (2) f9141_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) -> f9141_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.72/13.07 37.72/13.07 Arcs: 37.72/13.07 (1) -> (1), (2) 37.72/13.07 (2) -> (1), (2) 37.72/13.07 37.72/13.07 This digraph is fully evaluated! 37.72/13.07 ---------------------------------------- 37.72/13.07 37.72/13.07 (97) 37.72/13.07 Obligation: 37.72/13.07 37.72/13.07 Termination digraph: 37.72/13.07 Nodes: 37.72/13.07 (1) f9141_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25224-1432027651:0, java.lang.Object(o25225sub-1432027651:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27170sub1432573221:0), java.lang.Object(o26840sub1432573221:0))), o25225[LinkedList$Entry.next]o25223:0, o25227[LinkedList$Entry.next]o25225:0, o25225[LinkedList$Entry.next]o25227:0, o25227[LinkedList$Entry.next]o25223:0, o25224-1432027651:0) -> f9141_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25224-1432027651:0, java.lang.Object(o25225sub-1432027651:0)))))))), java.lang.Object(o26840sub0:0), o25225[LinkedList$Entry.next]o25223:0, o26840[LinkedList$Entry.next]o25225:0, o25225[LinkedList$Entry.next]o26840:0, o26840[LinkedList$Entry.next]o25223:0, o25224-1432027651:0) :|: o25227[LinkedList$Entry.next]o25225:0 > 0 && o25225[LinkedList$Entry.next]o25227:0 > 0 && o25227[LinkedList$Entry.next]o25223:0 > -1 && o26840[LinkedList$Entry.next]o25223:0 < o25227[LinkedList$Entry.next]o25223:0 && o26840[LinkedList$Entry.next]o25225:0 < o25227[LinkedList$Entry.next]o25225:0 && o25225[LinkedList$Entry.next]o26840:0 > o25225[LinkedList$Entry.next]o25227:0 && o26840[LinkedList$Entry.next]o25223:0 > 0 37.72/13.08 (2) f9141_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) -> f9141_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.72/13.08 37.72/13.08 Arcs: 37.72/13.08 (1) -> (1), (2) 37.72/13.08 (2) -> (1), (2) 37.72/13.08 37.72/13.08 This digraph is fully evaluated! 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (98) IntTRSCompressionProof (EQUIVALENT) 37.72/13.08 Compressed rules. 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (99) 37.72/13.08 Obligation: 37.72/13.08 Rules: 37.72/13.08 f9141_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25224-1432027651:0:0, java.lang.Object(o25225sub-1432027651:0:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o27170sub1432573221:0:0), java.lang.Object(o26840sub1432573221:0:0))), o25225[LinkedList$Entry.next]o25223:0:0, o25227[LinkedList$Entry.next]o25225:0:0, o25225[LinkedList$Entry.next]o25227:0:0, o25227[LinkedList$Entry.next]o25223:0:0, o25224-1432027651:0:0) -> f9141_0_indexOf_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o25224-1432027651:0:0, java.lang.Object(o25225sub-1432027651:0:0)))))))), java.lang.Object(o26840sub0:0:0), o25225[LinkedList$Entry.next]o25223:0:0, o26840[LinkedList$Entry.next]o25225:0:0, o25225[LinkedList$Entry.next]o26840:0:0, o26840[LinkedList$Entry.next]o25223:0:0, o25224-1432027651:0:0) :|: o25225[LinkedList$Entry.next]o26840:0:0 > o25225[LinkedList$Entry.next]o25227:0:0 && o26840[LinkedList$Entry.next]o25223:0:0 > 0 && o26840[LinkedList$Entry.next]o25225:0:0 < o25227[LinkedList$Entry.next]o25225:0:0 && o26840[LinkedList$Entry.next]o25223:0:0 < o25227[LinkedList$Entry.next]o25223:0:0 && o25227[LinkedList$Entry.next]o25223:0:0 > -1 && o25225[LinkedList$Entry.next]o25227:0:0 > 0 && o25227[LinkedList$Entry.next]o25225:0:0 > 0 37.72/13.08 f9141_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) -> f9141_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.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (100) TempFilterProof (SOUND) 37.72/13.08 Used the following sort dictionary for filtering: 37.72/13.08 f9141_0_indexOf_EQ(VARIABLE, VARIABLE, VARIABLE, INTEGER, VARIABLE, INTEGER, VARIABLE) 37.72/13.08 java.lang.Object(VARIABLE) 37.72/13.08 javaUtilEx.AbstractCollection(VARIABLE) 37.72/13.08 javaUtilEx.AbstractList(VARIABLE) 37.72/13.08 javaUtilEx.AbstractSequentialList(VARIABLE) 37.72/13.08 javaUtilEx.LinkedList(VARIABLE) 37.72/13.08 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 37.72/13.08 Replaced non-predefined constructor symbols by 0. 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (101) 37.72/13.08 Obligation: 37.72/13.08 Rules: 37.72/13.08 f9141_0_indexOf_EQ(c, c1, o25225[LinkedList$Entry.next]o25223:0:0, o25227[LinkedList$Entry.next]o25225:0:0, o25225[LinkedList$Entry.next]o25227:0:0, o25227[LinkedList$Entry.next]o25223:0:0, o25224-1432027651:0:0) -> f9141_0_indexOf_EQ(c2, c3, o25225[LinkedList$Entry.next]o25223:0:0, o26840[LinkedList$Entry.next]o25225:0:0, o25225[LinkedList$Entry.next]o26840:0:0, o26840[LinkedList$Entry.next]o25223:0:0, o25224-1432027651:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o25225[LinkedList$Entry.next]o26840:0:0 > o25225[LinkedList$Entry.next]o25227:0:0 && o26840[LinkedList$Entry.next]o25223:0:0 > 0 && o26840[LinkedList$Entry.next]o25225:0:0 < o25227[LinkedList$Entry.next]o25225:0:0 && o26840[LinkedList$Entry.next]o25223:0:0 < o25227[LinkedList$Entry.next]o25223:0:0 && o25227[LinkedList$Entry.next]o25223:0:0 > -1 && o25225[LinkedList$Entry.next]o25227:0:0 > 0 && o25227[LinkedList$Entry.next]o25225:0:0 > 0) 37.72/13.08 f9141_0_indexOf_EQ(c4, c5, x5:0, x6:0, x6:0, x5:0, x:0) -> f9141_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.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (102) PolynomialOrderProcessor (EQUIVALENT) 37.72/13.08 Found the following polynomial interpretation: 37.72/13.08 [f9141_0_indexOf_EQ(x, x1, x2, x3, x4, x5, x6)] = c*x + c1*x1 + x3 37.72/13.08 37.72/13.08 The following rules are decreasing: 37.72/13.08 f9141_0_indexOf_EQ(c, c1, o25225[LinkedList$Entry.next]o25223:0:0, o25227[LinkedList$Entry.next]o25225:0:0, o25225[LinkedList$Entry.next]o25227:0:0, o25227[LinkedList$Entry.next]o25223:0:0, o25224-1432027651:0:0) -> f9141_0_indexOf_EQ(c2, c3, o25225[LinkedList$Entry.next]o25223:0:0, o26840[LinkedList$Entry.next]o25225:0:0, o25225[LinkedList$Entry.next]o26840:0:0, o26840[LinkedList$Entry.next]o25223:0:0, o25224-1432027651:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o25225[LinkedList$Entry.next]o26840:0:0 > o25225[LinkedList$Entry.next]o25227:0:0 && o26840[LinkedList$Entry.next]o25223:0:0 > 0 && o26840[LinkedList$Entry.next]o25225:0:0 < o25227[LinkedList$Entry.next]o25225:0:0 && o26840[LinkedList$Entry.next]o25223:0:0 < o25227[LinkedList$Entry.next]o25223:0:0 && o25227[LinkedList$Entry.next]o25223:0:0 > -1 && o25225[LinkedList$Entry.next]o25227:0:0 > 0 && o25227[LinkedList$Entry.next]o25225:0:0 > 0) 37.72/13.08 f9141_0_indexOf_EQ(c4, c5, x5:0, x6:0, x6:0, x5:0, x:0) -> f9141_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.72/13.08 The following rules are bounded: 37.72/13.08 f9141_0_indexOf_EQ(c, c1, o25225[LinkedList$Entry.next]o25223:0:0, o25227[LinkedList$Entry.next]o25225:0:0, o25225[LinkedList$Entry.next]o25227:0:0, o25227[LinkedList$Entry.next]o25223:0:0, o25224-1432027651:0:0) -> f9141_0_indexOf_EQ(c2, c3, o25225[LinkedList$Entry.next]o25223:0:0, o26840[LinkedList$Entry.next]o25225:0:0, o25225[LinkedList$Entry.next]o26840:0:0, o26840[LinkedList$Entry.next]o25223:0:0, o25224-1432027651:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o25225[LinkedList$Entry.next]o26840:0:0 > o25225[LinkedList$Entry.next]o25227:0:0 && o26840[LinkedList$Entry.next]o25223:0:0 > 0 && o26840[LinkedList$Entry.next]o25225:0:0 < o25227[LinkedList$Entry.next]o25225:0:0 && o26840[LinkedList$Entry.next]o25223:0:0 < o25227[LinkedList$Entry.next]o25223:0:0 && o25227[LinkedList$Entry.next]o25223:0:0 > -1 && o25225[LinkedList$Entry.next]o25227:0:0 > 0 && o25227[LinkedList$Entry.next]o25225:0:0 > 0) 37.72/13.08 f9141_0_indexOf_EQ(c4, c5, x5:0, x6:0, x6:0, x5:0, x:0) -> f9141_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.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (103) 37.72/13.08 YES 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (104) 37.72/13.08 Obligation: 37.72/13.08 SCC of termination graph based on JBC Program. 37.72/13.08 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateIndexOf.main([Ljava/lang/String;)V 37.72/13.08 SCC calls the following helper methods: 37.72/13.08 Performed SCC analyses: 37.72/13.08 *Used field analysis yielded the following read fields: 37.72/13.08 *javaUtilEx.LinkedList$Entry: [next] 37.72/13.08 *Marker field analysis yielded the following relations that could be markers: 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (105) SCCToIRSProof (SOUND) 37.72/13.08 Transformed FIGraph SCCs to intTRSs. Log: 37.72/13.08 Generated rules. Obtained 40 IRulesP rules: 37.72/13.08 f8358_0_entry_GT(EOS(STATIC_8358), i4306, i4945, i4945, i4306, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15670[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o15670, o15670[LinkedList$Entry.next]o15670) -> f8378_0_entry_Load(EOS(STATIC_8378), i4306, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15670[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o15670, o15670[LinkedList$Entry.next]o15670) :|: i4945 <= i4306 37.72/13.08 f8378_0_entry_Load(EOS(STATIC_8378), i4306, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15670[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o15670, o15670[LinkedList$Entry.next]o15670) -> f8397_0_entry_FieldAccess(EOS(STATIC_8397), i4306, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15670[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o15670, o15670[LinkedList$Entry.next]o15670) :|: TRUE 37.72/13.08 f8397_0_entry_FieldAccess(EOS(STATIC_8397), i4306, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15670[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o15670, o15670[LinkedList$Entry.next]o15670) -> f8412_0_entry_FieldAccess(EOS(STATIC_8412), i4306, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15672[LinkedList$Entry.next]o15670, o15670[LinkedList$Entry.next]o15670, o15670[LinkedList$Entry.next]o15672) :|: o15672[LinkedList$Entry.next]o15672 > 0 && o15672[LinkedList$Entry.previous]o15672 > 0 && o15670[LinkedList$Entry.next]o15672 > 0 && o15672[LinkedList$Entry.next]o15670 > 0 && o15670[LinkedList$Entry.next]o15670 > 0 37.72/13.08 f8397_0_entry_FieldAccess(EOS(STATIC_8397), i4306, i4945, o16816[LinkedList$Entry.next]o16816, o16816[LinkedList$Entry.previous]o16816, o16816[LinkedList$Entry.next]o16816, o16816[LinkedList$Entry.next]o16816, o16816[LinkedList$Entry.next]o16816) -> f8413_0_entry_FieldAccess(EOS(STATIC_8413), i4306, i4945, o16816[LinkedList$Entry.next]o16816, o16816[LinkedList$Entry.previous]o16816) :|: TRUE 37.72/13.08 f8412_0_entry_FieldAccess(EOS(STATIC_8412), i4306, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15672[LinkedList$Entry.next]o17078, o17078[LinkedList$Entry.next]o17078, o17078[LinkedList$Entry.next]o15672) -> f8425_0_entry_FieldAccess(EOS(STATIC_8425), i4306, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15672[LinkedList$Entry.next]o17078, o17080[LinkedList$Entry.next]o15672, o17080[LinkedList$Entry.next]o17078) :|: o17080[LinkedList$Entry.next]o17078 < o17078[LinkedList$Entry.next]o17078 && o17078[LinkedList$Entry.next]o17078 >= 0 && o17080[LinkedList$Entry.next]o15672 < o17078[LinkedList$Entry.next]o15672 && o17078[LinkedList$Entry.next]o15672 >= 0 37.72/13.08 f8425_0_entry_FieldAccess(EOS(STATIC_8425), i4306, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15672[LinkedList$Entry.next]o17078, o17080[LinkedList$Entry.next]o15672, o17080[LinkedList$Entry.next]o17078) -> f8437_0_entry_Store(EOS(STATIC_8437), i4306, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o17080[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o17080, o17080[LinkedList$Entry.next]o17080) :|: o15672[LinkedList$Entry.next]o17080 > o15672[LinkedList$Entry.next]o17078 && o15672[LinkedList$Entry.next]o17078 >= 0 && o17080[LinkedList$Entry.next]o17080 > o17080[LinkedList$Entry.next]o17078 && o17080[LinkedList$Entry.next]o17078 >= 0 37.72/13.08 f8437_0_entry_Store(EOS(STATIC_8437), i4306, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o17080[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o17080, o17080[LinkedList$Entry.next]o17080) -> f8450_0_entry_Inc(EOS(STATIC_8450), i4306, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o17080[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o17080, o17080[LinkedList$Entry.next]o17080) :|: TRUE 37.72/13.08 f8450_0_entry_Inc(EOS(STATIC_8450), i4306, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o17080[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o17080, o17080[LinkedList$Entry.next]o17080) -> f8466_0_entry_JMP(EOS(STATIC_8466), i4306, i4945 + 1, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o17080[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o17080, o17080[LinkedList$Entry.next]o17080) :|: TRUE 37.72/13.08 f8466_0_entry_JMP(EOS(STATIC_8466), i4306, i5522, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o17080[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o17080, o17080[LinkedList$Entry.next]o17080) -> f8485_0_entry_Load(EOS(STATIC_8485), i4306, i5522, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o17080[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o17080, o17080[LinkedList$Entry.next]o17080) :|: TRUE 37.72/13.08 f8485_0_entry_Load(EOS(STATIC_8485), i4306, i5522, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o17080[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o17080, o17080[LinkedList$Entry.next]o17080) -> f8299_0_entry_Load(EOS(STATIC_8299), i4306, i5522, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o17080[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o17080, o17080[LinkedList$Entry.next]o17080) :|: TRUE 37.72/13.08 f8299_0_entry_Load(EOS(STATIC_8299), i4306, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15670[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o15670, o15670[LinkedList$Entry.next]o15670) -> f8317_0_entry_Load(EOS(STATIC_8317), i4306, i4945, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15670[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o15670, o15670[LinkedList$Entry.next]o15670) :|: TRUE 37.72/13.08 f8317_0_entry_Load(EOS(STATIC_8317), i4306, i4945, i4945, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15670[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o15670, o15670[LinkedList$Entry.next]o15670) -> f8337_0_entry_GT(EOS(STATIC_8337), i4306, i4945, i4945, i4306, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15670[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o15670, o15670[LinkedList$Entry.next]o15670) :|: TRUE 37.72/13.08 f8337_0_entry_GT(EOS(STATIC_8337), i4306, i4945, i4945, i4306, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15670[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o15670, o15670[LinkedList$Entry.next]o15670) -> f8358_0_entry_GT(EOS(STATIC_8358), i4306, i4945, i4945, i4306, o15672[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.previous]o15672, o15670[LinkedList$Entry.next]o15672, o15672[LinkedList$Entry.next]o15670, o15670[LinkedList$Entry.next]o15670) :|: i4945 <= i4306 37.72/13.08 f8413_0_entry_FieldAccess(EOS(STATIC_8413), i4306, i4945, o17082[LinkedList$Entry.next]o17082, o17082[LinkedList$Entry.previous]o17082) -> f8426_0_entry_FieldAccess(EOS(STATIC_8426), i4306, i4945, o17084[LinkedList$Entry.next]o17082, o17085[LinkedList$Entry.previous]o17082) :|: o17084[LinkedList$Entry.next]o17082 < o17082[LinkedList$Entry.next]o17082 && o17082[LinkedList$Entry.next]o17082 >= 0 && o17085[LinkedList$Entry.previous]o17082 < o17082[LinkedList$Entry.previous]o17082 && o17082[LinkedList$Entry.previous]o17082 >= 0 37.72/13.08 f8426_0_entry_FieldAccess(EOS(STATIC_8426), i4306, i4945, o17084[LinkedList$Entry.next]o17082, o17085[LinkedList$Entry.previous]o17082) -> f8438_0_entry_FieldAccess(EOS(STATIC_8438), i4306, i4945, o17085[LinkedList$Entry.previous]o17082, o17084[LinkedList$Entry.next]o17082) :|: o17084[LinkedList$Entry.next]o17082 > 0 37.72/13.08 f8426_0_entry_FieldAccess(EOS(STATIC_8426), i4306, i4945, o17084[LinkedList$Entry.next]o17198, o17085[LinkedList$Entry.previous]o17198) -> f8439_0_entry_FieldAccess(EOS(STATIC_8439), i4306, i4945, o17085[LinkedList$Entry.previous]o17198) :|: TRUE 37.72/13.08 f8438_0_entry_FieldAccess(EOS(STATIC_8438), i4306, i4945, o17085[LinkedList$Entry.previous]o17082, o17084[LinkedList$Entry.next]o17082) -> f8451_0_entry_FieldAccess(EOS(STATIC_8451), i4306, i4945, o17084[LinkedList$Entry.next]o17082, o17085[LinkedList$Entry.previous]o17082) :|: o17085[LinkedList$Entry.previous]o17082 > 0 37.72/13.08 f8438_0_entry_FieldAccess(EOS(STATIC_8438), i4306, i4945, o17085[LinkedList$Entry.previous]o17291, o17084[LinkedList$Entry.next]o17291) -> f8452_0_entry_FieldAccess(EOS(STATIC_8452), i4306, i4945, o17084[LinkedList$Entry.next]o17291) :|: TRUE 37.72/13.08 f8451_0_entry_FieldAccess(EOS(STATIC_8451), i4306, i4945, o17084[LinkedList$Entry.next]o17082, o17085[LinkedList$Entry.previous]o17082) -> f8467_0_entry_Store(EOS(STATIC_8467), i4306, i4945, o17084[LinkedList$Entry.next]o17082, o17085[LinkedList$Entry.previous]o17082) :|: TRUE 37.72/13.08 f8467_0_entry_Store(EOS(STATIC_8467), i4306, i4945, o17084[LinkedList$Entry.next]o17082, o17085[LinkedList$Entry.previous]o17082) -> f8486_0_entry_Inc(EOS(STATIC_8486), i4306, i4945, o17084[LinkedList$Entry.next]o17082, o17085[LinkedList$Entry.previous]o17082) :|: TRUE 37.72/13.08 f8486_0_entry_Inc(EOS(STATIC_8486), i4306, i4945, o17084[LinkedList$Entry.next]o17082, o17085[LinkedList$Entry.previous]o17082) -> f8503_0_entry_JMP(EOS(STATIC_8503), i4306, i4945 + 1, o17084[LinkedList$Entry.next]o17082, o17085[LinkedList$Entry.previous]o17082) :|: TRUE 37.72/13.08 f8503_0_entry_JMP(EOS(STATIC_8503), i4306, i5547, o17084[LinkedList$Entry.next]o17082, o17085[LinkedList$Entry.previous]o17082) -> f8519_0_entry_Load(EOS(STATIC_8519), i4306, i5547, o17084[LinkedList$Entry.next]o17082, o17085[LinkedList$Entry.previous]o17082) :|: TRUE 37.72/13.08 f8519_0_entry_Load(EOS(STATIC_8519), i4306, i5547, o17084[LinkedList$Entry.next]o17082, o17085[LinkedList$Entry.previous]o17082) -> f8299_0_entry_Load(EOS(STATIC_8299), i4306, i5547, o17082[LinkedList$Entry.next]o17082, o17082[LinkedList$Entry.previous]o17082, o17084[LinkedList$Entry.next]o17082, o17082[LinkedList$Entry.next]o17084, o17084[LinkedList$Entry.next]o17084) :|: o17082[LinkedList$Entry.next]o17084 = 1 37.72/13.08 f8452_0_entry_FieldAccess(EOS(STATIC_8452), i4306, i4945, o17084[LinkedList$Entry.next]o17291) -> f8468_0_entry_Store(EOS(STATIC_8468), i4306, i4945, o17084[LinkedList$Entry.next]o17291) :|: TRUE 37.72/13.08 f8468_0_entry_Store(EOS(STATIC_8468), i4306, i4945, o17084[LinkedList$Entry.next]o17291) -> f8487_0_entry_Inc(EOS(STATIC_8487), i4306, i4945, o17084[LinkedList$Entry.next]o17291) :|: TRUE 37.72/13.08 f8487_0_entry_Inc(EOS(STATIC_8487), i4306, i4945, o17084[LinkedList$Entry.next]o17291) -> f8504_0_entry_JMP(EOS(STATIC_8504), i4306, i4945 + 1, o17084[LinkedList$Entry.next]o17291) :|: TRUE 37.72/13.08 f8504_0_entry_JMP(EOS(STATIC_8504), i4306, i5549, o17084[LinkedList$Entry.next]o17291) -> f8520_0_entry_Load(EOS(STATIC_8520), i4306, i5549, o17084[LinkedList$Entry.next]o17291) :|: TRUE 37.72/13.08 f8520_0_entry_Load(EOS(STATIC_8520), i4306, i5549, o17084[LinkedList$Entry.next]o17291) -> f8299_0_entry_Load(EOS(STATIC_8299), i4306, i5549, o17291[LinkedList$Entry.next]o17291, o17291[LinkedList$Entry.previous]o17291, o17084[LinkedList$Entry.next]o17291, o17291[LinkedList$Entry.next]o17084, o17084[LinkedList$Entry.next]o17084) :|: o17291[LinkedList$Entry.previous]o17291 = 1 && o17291[LinkedList$Entry.next]o17084 = 1 37.72/13.08 f8439_0_entry_FieldAccess(EOS(STATIC_8439), i4306, i4945, o17085[LinkedList$Entry.previous]o17198) -> f8453_0_entry_FieldAccess(EOS(STATIC_8453), i4306, i4945, o17085[LinkedList$Entry.previous]o17198) :|: o17085[LinkedList$Entry.previous]o17198 > 0 37.72/13.08 f8439_0_entry_FieldAccess(EOS(STATIC_8439), i4306, i4945, o17085[LinkedList$Entry.previous]o17294) -> f8454_0_entry_FieldAccess(EOS(STATIC_8454), i4306, i4945) :|: TRUE 37.72/13.08 f8453_0_entry_FieldAccess(EOS(STATIC_8453), i4306, i4945, o17085[LinkedList$Entry.previous]o17198) -> f8469_0_entry_Store(EOS(STATIC_8469), i4306, i4945, o17085[LinkedList$Entry.previous]o17198) :|: TRUE 37.72/13.08 f8469_0_entry_Store(EOS(STATIC_8469), i4306, i4945, o17085[LinkedList$Entry.previous]o17198) -> f8488_0_entry_Inc(EOS(STATIC_8488), i4306, i4945, o17085[LinkedList$Entry.previous]o17198) :|: TRUE 37.72/13.08 f8488_0_entry_Inc(EOS(STATIC_8488), i4306, i4945, o17085[LinkedList$Entry.previous]o17198) -> f8505_0_entry_JMP(EOS(STATIC_8505), i4306, i4945 + 1, o17085[LinkedList$Entry.previous]o17198) :|: TRUE 37.72/13.08 f8505_0_entry_JMP(EOS(STATIC_8505), i4306, i5552, o17085[LinkedList$Entry.previous]o17198) -> f8521_0_entry_Load(EOS(STATIC_8521), i4306, i5552, o17085[LinkedList$Entry.previous]o17198) :|: TRUE 37.72/13.08 f8521_0_entry_Load(EOS(STATIC_8521), i4306, i5552, o17085[LinkedList$Entry.previous]o17198) -> f8299_0_entry_Load(EOS(STATIC_8299), i4306, i5552, o17198[LinkedList$Entry.next]o17198, o17198[LinkedList$Entry.previous]o17198, o17198[LinkedList$Entry.next]o17198, o17198[LinkedList$Entry.next]o17198, o17198[LinkedList$Entry.next]o17198) :|: o17198[LinkedList$Entry.next]o17198 = 1 && o17198[LinkedList$Entry.next]o17198 = 1 && o17198[LinkedList$Entry.next]o17198 = 1 && o17198[LinkedList$Entry.next]o17198 = 1 37.72/13.08 f8454_0_entry_FieldAccess(EOS(STATIC_8454), i4306, i4945) -> f8470_0_entry_Store(EOS(STATIC_8470), i4306, i4945) :|: TRUE 37.72/13.08 f8470_0_entry_Store(EOS(STATIC_8470), i4306, i4945) -> f8489_0_entry_Inc(EOS(STATIC_8489), i4306, i4945) :|: TRUE 37.72/13.08 f8489_0_entry_Inc(EOS(STATIC_8489), i4306, i4945) -> f8506_0_entry_JMP(EOS(STATIC_8506), i4306, i4945 + 1) :|: TRUE 37.72/13.08 f8506_0_entry_JMP(EOS(STATIC_8506), i4306, i5553) -> f8522_0_entry_Load(EOS(STATIC_8522), i4306, i5553) :|: TRUE 37.72/13.08 f8522_0_entry_Load(EOS(STATIC_8522), i4306, i5553) -> f8299_0_entry_Load(EOS(STATIC_8299), i4306, i5553, o17294[LinkedList$Entry.next]o17294, o17294[LinkedList$Entry.previous]o17294, o17294[LinkedList$Entry.next]o17294, o17294[LinkedList$Entry.next]o17294, o17294[LinkedList$Entry.next]o17294) :|: o17294[LinkedList$Entry.next]o17294 = 1 && o17294[LinkedList$Entry.previous]o17294 = 1 && o17294[LinkedList$Entry.next]o17294 = 1 && o17294[LinkedList$Entry.next]o17294 = 1 && o17294[LinkedList$Entry.next]o17294 = 1 37.72/13.08 Combined rules. Obtained 5 IRulesP rules: 37.72/13.08 f8358_0_entry_GT(EOS(STATIC_8358), i4306:0, i4945:0, i4945:0, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0) -> f8358_0_entry_GT(EOS(STATIC_8358), i4306:0, i4945:0 + 1, i4945:0 + 1, i4306:0, 1, o17198[LinkedList$Entry.previous]o17198:0, 1, 1, 1) :|: i4945:0 + 1 <= i4306:0 && o15672[LinkedList$Entry.next]o15672:0 > -1 && o17084[LinkedList$Entry.next]o17082:0 < o15672[LinkedList$Entry.next]o15672:0 && o17085[LinkedList$Entry.previous]o17082:0 < o15672[LinkedList$Entry.previous]o15672:0 && o17085[LinkedList$Entry.previous]o17082:0 > 0 && o15672[LinkedList$Entry.previous]o15672:0 > -1 37.72/13.08 f8358_0_entry_GT(EOS(STATIC_8358), i4306:0, i4945:0, i4945:0, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o15670[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15670:0, o15670[LinkedList$Entry.next]o15670:0) -> f8358_0_entry_GT(EOS(STATIC_8358), i4306:0, i4945:0 + 1, i4945:0 + 1, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o17080[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o17080:0, o17080[LinkedList$Entry.next]o17080:0) :|: o15670[LinkedList$Entry.next]o15672:0 > 0 && o15672[LinkedList$Entry.next]o15670:0 > 0 && o15670[LinkedList$Entry.next]o15670:0 > 0 && i4945:0 + 1 <= i4306:0 && o15672[LinkedList$Entry.previous]o15672:0 > 0 && o15672[LinkedList$Entry.next]o15672:0 > 0 && o17080[LinkedList$Entry.next]o17078:0 < o15670[LinkedList$Entry.next]o15670:0 && o15672[LinkedList$Entry.next]o17080:0 > o15672[LinkedList$Entry.next]o15670:0 && o17080[LinkedList$Entry.next]o15672:0 < o15670[LinkedList$Entry.next]o15672:0 && o17080[LinkedList$Entry.next]o17078:0 > -1 && o17080[LinkedList$Entry.next]o17080:0 > o17080[LinkedList$Entry.next]o17078:0 37.72/13.08 f8358_0_entry_GT(EOS(STATIC_8358), i4306:0, i4945:0, i4945:0, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0) -> f8358_0_entry_GT(EOS(STATIC_8358), i4306:0, i4945:0 + 1, i4945:0 + 1, i4306:0, 1, 1, 1, 1, 1) :|: i4945:0 + 1 <= i4306:0 && o15672[LinkedList$Entry.next]o15672:0 > -1 && o17084[LinkedList$Entry.next]o17082:0 < o15672[LinkedList$Entry.next]o15672:0 && o15672[LinkedList$Entry.previous]o15672:0 > -1 && o17085[LinkedList$Entry.previous]o17082:0 < o15672[LinkedList$Entry.previous]o15672:0 37.72/13.08 f8358_0_entry_GT(EOS(STATIC_8358), i4306:0, i4945:0, i4945:0, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0) -> f8358_0_entry_GT(EOS(STATIC_8358), i4306:0, i4945:0 + 1, i4945:0 + 1, i4306:0, o17082[LinkedList$Entry.next]o17082:0, o17082[LinkedList$Entry.previous]o17082:0, o17084[LinkedList$Entry.next]o17082:0, 1, o17084[LinkedList$Entry.next]o17084:0) :|: i4945:0 + 1 <= i4306:0 && o15672[LinkedList$Entry.next]o15672:0 > -1 && o17084[LinkedList$Entry.next]o17082:0 < o15672[LinkedList$Entry.next]o15672:0 && o17085[LinkedList$Entry.previous]o17082:0 < o15672[LinkedList$Entry.previous]o15672:0 && o15672[LinkedList$Entry.previous]o15672:0 > -1 && o17085[LinkedList$Entry.previous]o17082:0 > 0 && o17084[LinkedList$Entry.next]o17082:0 > 0 37.72/13.08 f8358_0_entry_GT(EOS(STATIC_8358), i4306:0, i4945:0, i4945:0, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0) -> f8358_0_entry_GT(EOS(STATIC_8358), i4306:0, i4945:0 + 1, i4945:0 + 1, i4306:0, o17291[LinkedList$Entry.next]o17291:0, 1, o17084[LinkedList$Entry.next]o17082:0, 1, o17084[LinkedList$Entry.next]o17084:0) :|: i4945:0 + 1 <= i4306:0 && o15672[LinkedList$Entry.next]o15672:0 > -1 && o17084[LinkedList$Entry.next]o17082:0 < o15672[LinkedList$Entry.next]o15672:0 && o17085[LinkedList$Entry.previous]o17082:0 < o15672[LinkedList$Entry.previous]o15672:0 && o17084[LinkedList$Entry.next]o17082:0 > 0 && o15672[LinkedList$Entry.previous]o15672:0 > -1 37.72/13.08 Filtered constant ground arguments: 37.72/13.08 f8358_0_entry_GT(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f8358_0_entry_GT(x2, x3, x4, x5, x6, x7, x8, x9, x10) 37.72/13.08 EOS(x1) -> EOS 37.72/13.08 Filtered duplicate arguments: 37.72/13.08 f8358_0_entry_GT(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f8358_0_entry_GT(x3, x4, x5, x6, x7, x8, x9) 37.72/13.08 Finished conversion. Obtained 5 rules.P rules: 37.72/13.08 f8358_0_entry_GT(i4945:0, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0) -> f8358_0_entry_GT(i4945:0 + 1, i4306:0, 1, o17198[LinkedList$Entry.previous]o17198:0, 1, 1, 1) :|: o15672[LinkedList$Entry.next]o15672:0 > -1 && i4945:0 + 1 <= i4306:0 && o17084[LinkedList$Entry.next]o17082:0 < o15672[LinkedList$Entry.next]o15672:0 && o17085[LinkedList$Entry.previous]o17082:0 < o15672[LinkedList$Entry.previous]o15672:0 && o15672[LinkedList$Entry.previous]o15672:0 > -1 && o17085[LinkedList$Entry.previous]o17082:0 > 0 37.72/13.08 f8358_0_entry_GT(i4945:0, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o15670[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15670:0, o15670[LinkedList$Entry.next]o15670:0) -> f8358_0_entry_GT(i4945:0 + 1, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o17080[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o17080:0, o17080[LinkedList$Entry.next]o17080:0) :|: o15672[LinkedList$Entry.next]o15670:0 > 0 && o15670[LinkedList$Entry.next]o15672:0 > 0 && o15670[LinkedList$Entry.next]o15670:0 > 0 && i4945:0 + 1 <= i4306:0 && o15672[LinkedList$Entry.previous]o15672:0 > 0 && o15672[LinkedList$Entry.next]o15672:0 > 0 && o17080[LinkedList$Entry.next]o17078:0 < o15670[LinkedList$Entry.next]o15670:0 && o15672[LinkedList$Entry.next]o17080:0 > o15672[LinkedList$Entry.next]o15670:0 && o17080[LinkedList$Entry.next]o15672:0 < o15670[LinkedList$Entry.next]o15672:0 && o17080[LinkedList$Entry.next]o17080:0 > o17080[LinkedList$Entry.next]o17078:0 && o17080[LinkedList$Entry.next]o17078:0 > -1 37.72/13.08 f8358_0_entry_GT(i4945:0, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0) -> f8358_0_entry_GT(i4945:0 + 1, i4306:0, 1, 1, 1, 1, 1) :|: o15672[LinkedList$Entry.next]o15672:0 > -1 && i4945:0 + 1 <= i4306:0 && o17084[LinkedList$Entry.next]o17082:0 < o15672[LinkedList$Entry.next]o15672:0 && o17085[LinkedList$Entry.previous]o17082:0 < o15672[LinkedList$Entry.previous]o15672:0 && o15672[LinkedList$Entry.previous]o15672:0 > -1 37.72/13.08 f8358_0_entry_GT(i4945:0, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0) -> f8358_0_entry_GT(i4945:0 + 1, i4306:0, o17082[LinkedList$Entry.next]o17082:0, o17082[LinkedList$Entry.previous]o17082:0, o17084[LinkedList$Entry.next]o17082:0, 1, o17084[LinkedList$Entry.next]o17084:0) :|: o15672[LinkedList$Entry.next]o15672:0 > -1 && i4945:0 + 1 <= i4306:0 && o17084[LinkedList$Entry.next]o17082:0 < o15672[LinkedList$Entry.next]o15672:0 && o17085[LinkedList$Entry.previous]o17082:0 < o15672[LinkedList$Entry.previous]o15672:0 && o15672[LinkedList$Entry.previous]o15672:0 > -1 && o17084[LinkedList$Entry.next]o17082:0 > 0 && o17085[LinkedList$Entry.previous]o17082:0 > 0 37.72/13.08 f8358_0_entry_GT(i4945:0, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0) -> f8358_0_entry_GT(i4945:0 + 1, i4306:0, o17291[LinkedList$Entry.next]o17291:0, 1, o17084[LinkedList$Entry.next]o17082:0, 1, o17084[LinkedList$Entry.next]o17084:0) :|: o15672[LinkedList$Entry.next]o15672:0 > -1 && i4945:0 + 1 <= i4306:0 && o17084[LinkedList$Entry.next]o17082:0 < o15672[LinkedList$Entry.next]o15672:0 && o17085[LinkedList$Entry.previous]o17082:0 < o15672[LinkedList$Entry.previous]o15672:0 && o15672[LinkedList$Entry.previous]o15672:0 > -1 && o17084[LinkedList$Entry.next]o17082:0 > 0 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (106) 37.72/13.08 Obligation: 37.72/13.08 Rules: 37.72/13.08 f8358_0_entry_GT(i4945:0, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0) -> f8358_0_entry_GT(i4945:0 + 1, i4306:0, 1, o17198[LinkedList$Entry.previous]o17198:0, 1, 1, 1) :|: o15672[LinkedList$Entry.next]o15672:0 > -1 && i4945:0 + 1 <= i4306:0 && o17084[LinkedList$Entry.next]o17082:0 < o15672[LinkedList$Entry.next]o15672:0 && o17085[LinkedList$Entry.previous]o17082:0 < o15672[LinkedList$Entry.previous]o15672:0 && o15672[LinkedList$Entry.previous]o15672:0 > -1 && o17085[LinkedList$Entry.previous]o17082:0 > 0 37.72/13.08 f8358_0_entry_GT(x, x1, x2, x3, x4, x5, x6) -> f8358_0_entry_GT(x + 1, x1, x2, x3, x7, x8, x9) :|: x5 > 0 && x4 > 0 && x6 > 0 && x + 1 <= x1 && x3 > 0 && x2 > 0 && x10 < x6 && x8 > x5 && x7 < x4 && x9 > x10 && x10 > -1 37.72/13.08 f8358_0_entry_GT(x11, x12, x13, x14, x13, x13, x13) -> f8358_0_entry_GT(x11 + 1, x12, 1, 1, 1, 1, 1) :|: x13 > -1 && x11 + 1 <= x12 && x15 < x13 && x16 < x14 && x14 > -1 37.72/13.08 f8358_0_entry_GT(x17, x18, x19, x20, x19, x19, x19) -> f8358_0_entry_GT(x17 + 1, x18, x21, x22, x23, 1, x24) :|: x19 > -1 && x17 + 1 <= x18 && x23 < x19 && x25 < x20 && x20 > -1 && x23 > 0 && x25 > 0 37.72/13.08 f8358_0_entry_GT(x26, x27, x28, x29, x28, x28, x28) -> f8358_0_entry_GT(x26 + 1, x27, x30, 1, x31, 1, x32) :|: x28 > -1 && x26 + 1 <= x27 && x31 < x28 && x33 < x29 && x29 > -1 && x31 > 0 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (107) IRSFormatTransformerProof (EQUIVALENT) 37.72/13.08 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (108) 37.72/13.08 Obligation: 37.72/13.08 Rules: 37.72/13.08 f8358_0_entry_GT(i4945:0, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0) -> f8358_0_entry_GT(arith, i4306:0, 1, o17198[LinkedList$Entry.previous]o17198:0, 1, 1, 1) :|: o15672[LinkedList$Entry.next]o15672:0 > -1 && i4945:0 + 1 <= i4306:0 && o17084[LinkedList$Entry.next]o17082:0 < o15672[LinkedList$Entry.next]o15672:0 && o17085[LinkedList$Entry.previous]o17082:0 < o15672[LinkedList$Entry.previous]o15672:0 && o15672[LinkedList$Entry.previous]o15672:0 > -1 && o17085[LinkedList$Entry.previous]o17082:0 > 0 && arith = i4945:0 + 1 37.72/13.08 f8358_0_entry_GT(x34, x35, x36, x37, x38, x39, x40) -> f8358_0_entry_GT(x41, x35, x36, x37, x42, x43, x44) :|: x39 > 0 && x38 > 0 && x40 > 0 && x34 + 1 <= x35 && x37 > 0 && x36 > 0 && x45 < x40 && x43 > x39 && x42 < x38 && x44 > x45 && x45 > -1 && x41 = x34 + 1 37.72/13.08 f8358_0_entry_GT(x46, x47, x48, x49, x48, x48, x48) -> f8358_0_entry_GT(x50, x47, 1, 1, 1, 1, 1) :|: x48 > -1 && x46 + 1 <= x47 && x51 < x48 && x52 < x49 && x49 > -1 && x50 = x46 + 1 37.72/13.08 f8358_0_entry_GT(x53, x54, x55, x56, x55, x55, x55) -> f8358_0_entry_GT(x57, x54, x58, x59, x60, 1, x61) :|: x55 > -1 && x53 + 1 <= x54 && x60 < x55 && x62 < x56 && x56 > -1 && x60 > 0 && x62 > 0 && x57 = x53 + 1 37.72/13.08 f8358_0_entry_GT(x63, x64, x65, x66, x65, x65, x65) -> f8358_0_entry_GT(x67, x64, x68, 1, x69, 1, x70) :|: x65 > -1 && x63 + 1 <= x64 && x69 < x65 && x71 < x66 && x66 > -1 && x69 > 0 && x67 = x63 + 1 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (109) IRSwTTerminationDigraphProof (EQUIVALENT) 37.72/13.08 Constructed termination digraph! 37.72/13.08 Nodes: 37.72/13.08 (1) f8358_0_entry_GT(i4945:0, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0) -> f8358_0_entry_GT(arith, i4306:0, 1, o17198[LinkedList$Entry.previous]o17198:0, 1, 1, 1) :|: o15672[LinkedList$Entry.next]o15672:0 > -1 && i4945:0 + 1 <= i4306:0 && o17084[LinkedList$Entry.next]o17082:0 < o15672[LinkedList$Entry.next]o15672:0 && o17085[LinkedList$Entry.previous]o17082:0 < o15672[LinkedList$Entry.previous]o15672:0 && o15672[LinkedList$Entry.previous]o15672:0 > -1 && o17085[LinkedList$Entry.previous]o17082:0 > 0 && arith = i4945:0 + 1 37.72/13.08 (2) f8358_0_entry_GT(x34, x35, x36, x37, x38, x39, x40) -> f8358_0_entry_GT(x41, x35, x36, x37, x42, x43, x44) :|: x39 > 0 && x38 > 0 && x40 > 0 && x34 + 1 <= x35 && x37 > 0 && x36 > 0 && x45 < x40 && x43 > x39 && x42 < x38 && x44 > x45 && x45 > -1 && x41 = x34 + 1 37.72/13.08 (3) f8358_0_entry_GT(x46, x47, x48, x49, x48, x48, x48) -> f8358_0_entry_GT(x50, x47, 1, 1, 1, 1, 1) :|: x48 > -1 && x46 + 1 <= x47 && x51 < x48 && x52 < x49 && x49 > -1 && x50 = x46 + 1 37.72/13.08 (4) f8358_0_entry_GT(x53, x54, x55, x56, x55, x55, x55) -> f8358_0_entry_GT(x57, x54, x58, x59, x60, 1, x61) :|: x55 > -1 && x53 + 1 <= x54 && x60 < x55 && x62 < x56 && x56 > -1 && x60 > 0 && x62 > 0 && x57 = x53 + 1 37.72/13.08 (5) f8358_0_entry_GT(x63, x64, x65, x66, x65, x65, x65) -> f8358_0_entry_GT(x67, x64, x68, 1, x69, 1, x70) :|: x65 > -1 && x63 + 1 <= x64 && x69 < x65 && x71 < x66 && x66 > -1 && x69 > 0 && x67 = x63 + 1 37.72/13.08 37.72/13.08 Arcs: 37.72/13.08 (1) -> (1), (2), (3) 37.72/13.08 (2) -> (1), (2), (3), (4), (5) 37.72/13.08 (3) -> (2), (3) 37.72/13.08 (4) -> (1), (2), (3) 37.72/13.08 (5) -> (2), (3) 37.72/13.08 37.72/13.08 This digraph is fully evaluated! 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (110) 37.72/13.08 Obligation: 37.72/13.08 37.72/13.08 Termination digraph: 37.72/13.08 Nodes: 37.72/13.08 (1) f8358_0_entry_GT(i4945:0, i4306:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.previous]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0, o15672[LinkedList$Entry.next]o15672:0) -> f8358_0_entry_GT(arith, i4306:0, 1, o17198[LinkedList$Entry.previous]o17198:0, 1, 1, 1) :|: o15672[LinkedList$Entry.next]o15672:0 > -1 && i4945:0 + 1 <= i4306:0 && o17084[LinkedList$Entry.next]o17082:0 < o15672[LinkedList$Entry.next]o15672:0 && o17085[LinkedList$Entry.previous]o17082:0 < o15672[LinkedList$Entry.previous]o15672:0 && o15672[LinkedList$Entry.previous]o15672:0 > -1 && o17085[LinkedList$Entry.previous]o17082:0 > 0 && arith = i4945:0 + 1 37.72/13.08 (2) f8358_0_entry_GT(x34, x35, x36, x37, x38, x39, x40) -> f8358_0_entry_GT(x41, x35, x36, x37, x42, x43, x44) :|: x39 > 0 && x38 > 0 && x40 > 0 && x34 + 1 <= x35 && x37 > 0 && x36 > 0 && x45 < x40 && x43 > x39 && x42 < x38 && x44 > x45 && x45 > -1 && x41 = x34 + 1 37.72/13.08 (3) f8358_0_entry_GT(x46, x47, x48, x49, x48, x48, x48) -> f8358_0_entry_GT(x50, x47, 1, 1, 1, 1, 1) :|: x48 > -1 && x46 + 1 <= x47 && x51 < x48 && x52 < x49 && x49 > -1 && x50 = x46 + 1 37.72/13.08 (4) f8358_0_entry_GT(x63, x64, x65, x66, x65, x65, x65) -> f8358_0_entry_GT(x67, x64, x68, 1, x69, 1, x70) :|: x65 > -1 && x63 + 1 <= x64 && x69 < x65 && x71 < x66 && x66 > -1 && x69 > 0 && x67 = x63 + 1 37.72/13.08 (5) f8358_0_entry_GT(x53, x54, x55, x56, x55, x55, x55) -> f8358_0_entry_GT(x57, x54, x58, x59, x60, 1, x61) :|: x55 > -1 && x53 + 1 <= x54 && x60 < x55 && x62 < x56 && x56 > -1 && x60 > 0 && x62 > 0 && x57 = x53 + 1 37.72/13.08 37.72/13.08 Arcs: 37.72/13.08 (1) -> (1), (2), (3) 37.72/13.08 (2) -> (1), (2), (3), (4), (5) 37.72/13.08 (3) -> (2), (3) 37.72/13.08 (4) -> (2), (3) 37.72/13.08 (5) -> (1), (2), (3) 37.72/13.08 37.72/13.08 This digraph is fully evaluated! 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (111) IntTRSCompressionProof (EQUIVALENT) 37.72/13.08 Compressed rules. 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (112) 37.72/13.08 Obligation: 37.72/13.08 Rules: 37.72/13.08 f8358_0_entry_GT(i4945:0:0, i4306:0:0, o15672[LinkedList$Entry.next]o15672:0:0, o15672[LinkedList$Entry.previous]o15672:0:0, o15672[LinkedList$Entry.next]o15672:0:0, o15672[LinkedList$Entry.next]o15672:0:0, o15672[LinkedList$Entry.next]o15672:0:0) -> f8358_0_entry_GT(i4945:0:0 + 1, i4306:0:0, 1, o17198[LinkedList$Entry.previous]o17198:0:0, 1, 1, 1) :|: o15672[LinkedList$Entry.previous]o15672:0:0 > -1 && o17085[LinkedList$Entry.previous]o17082:0:0 > 0 && o17085[LinkedList$Entry.previous]o17082:0:0 < o15672[LinkedList$Entry.previous]o15672:0:0 && o17084[LinkedList$Entry.next]o17082:0:0 < o15672[LinkedList$Entry.next]o15672:0:0 && i4945:0:0 + 1 <= i4306:0:0 && o15672[LinkedList$Entry.next]o15672:0:0 > -1 37.72/13.08 f8358_0_entry_GT(x34:0, x35:0, x36:0, x37:0, x38:0, x39:0, x40:0) -> f8358_0_entry_GT(x34:0 + 1, x35:0, x36:0, x37:0, x42:0, x43:0, x44:0) :|: x45:0 < x44:0 && x45:0 > -1 && x42:0 < x38:0 && x43:0 > x39:0 && x45:0 < x40:0 && x36:0 > 0 && x37:0 > 0 && x35:0 >= x34:0 + 1 && x40:0 > 0 && x38:0 > 0 && x39:0 > 0 37.72/13.08 f8358_0_entry_GT(x46:0, x47:0, x48:0, x49:0, x48:0, x48:0, x48:0) -> f8358_0_entry_GT(x46:0 + 1, x47:0, 1, 1, 1, 1, 1) :|: x52:0 < x49:0 && x49:0 > -1 && x51:0 < x48:0 && x47:0 >= x46:0 + 1 && x48:0 > -1 37.72/13.08 f8358_0_entry_GT(x53:0, x54:0, x55:0, x56:0, x55:0, x55:0, x55:0) -> f8358_0_entry_GT(x53:0 + 1, x54:0, x58:0, x59:0, x60:0, 1, x61:0) :|: x60:0 > 0 && x62:0 > 0 && x56:0 > -1 && x62:0 < x56:0 && x60:0 < x55:0 && x54:0 >= x53:0 + 1 && x55:0 > -1 37.72/13.08 f8358_0_entry_GT(x63:0, x64:0, x65:0, x66:0, x65:0, x65:0, x65:0) -> f8358_0_entry_GT(x63:0 + 1, x64:0, x68:0, 1, x69:0, 1, x70:0) :|: x66:0 > -1 && x69:0 > 0 && x71:0 < x66:0 && x69:0 < x65:0 && x64:0 >= x63:0 + 1 && x65:0 > -1 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (113) TempFilterProof (SOUND) 37.72/13.08 Used the following sort dictionary for filtering: 37.72/13.08 f8358_0_entry_GT(INTEGER, INTEGER, VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE) 37.72/13.08 Replaced non-predefined constructor symbols by 0. 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (114) 37.72/13.08 Obligation: 37.72/13.08 Rules: 37.72/13.08 f8358_0_entry_GT(i4945:0:0, i4306:0:0, o15672[LinkedList$Entry.next]o15672:0:0, o15672[LinkedList$Entry.previous]o15672:0:0, o15672[LinkedList$Entry.next]o15672:0:0, o15672[LinkedList$Entry.next]o15672:0:0, o15672[LinkedList$Entry.next]o15672:0:0) -> f8358_0_entry_GT(c, i4306:0:0, c1, o17198[LinkedList$Entry.previous]o17198:0:0, c2, c3, c4) :|: c4 = 1 && (c3 = 1 && (c2 = 1 && (c1 = 1 && c = i4945:0:0 + 1))) && (o15672[LinkedList$Entry.previous]o15672:0:0 > -1 && o17085[LinkedList$Entry.previous]o17082:0:0 > 0 && o17085[LinkedList$Entry.previous]o17082:0:0 < o15672[LinkedList$Entry.previous]o15672:0:0 && o17084[LinkedList$Entry.next]o17082:0:0 < o15672[LinkedList$Entry.next]o15672:0:0 && i4945:0:0 + 1 <= i4306:0:0 && o15672[LinkedList$Entry.next]o15672:0:0 > -1) 37.72/13.08 f8358_0_entry_GT(x34:0, x35:0, x36:0, x37:0, x38:0, x39:0, x40:0) -> f8358_0_entry_GT(c5, x35:0, x36:0, x37:0, x42:0, x43:0, x44:0) :|: c5 = x34:0 + 1 && (x45:0 < x44:0 && x45:0 > -1 && x42:0 < x38:0 && x43:0 > x39:0 && x45:0 < x40:0 && x36:0 > 0 && x37:0 > 0 && x35:0 >= x34:0 + 1 && x40:0 > 0 && x38:0 > 0 && x39:0 > 0) 37.72/13.08 f8358_0_entry_GT(x46:0, x47:0, x48:0, x49:0, x48:0, x48:0, x48:0) -> f8358_0_entry_GT(c6, x47:0, c7, c8, c9, c10, c11) :|: c11 = 1 && (c10 = 1 && (c9 = 1 && (c8 = 1 && (c7 = 1 && c6 = x46:0 + 1)))) && (x52:0 < x49:0 && x49:0 > -1 && x51:0 < x48:0 && x47:0 >= x46:0 + 1 && x48:0 > -1) 37.72/13.08 f8358_0_entry_GT(x53:0, x54:0, x55:0, x56:0, x55:0, x55:0, x55:0) -> f8358_0_entry_GT(c12, x54:0, x58:0, x59:0, x60:0, c13, x61:0) :|: c13 = 1 && c12 = x53:0 + 1 && (x60:0 > 0 && x62:0 > 0 && x56:0 > -1 && x62:0 < x56:0 && x60:0 < x55:0 && x54:0 >= x53:0 + 1 && x55:0 > -1) 37.72/13.08 f8358_0_entry_GT(x63:0, x64:0, x65:0, x66:0, x65:0, x65:0, x65:0) -> f8358_0_entry_GT(c14, x64:0, x68:0, c15, x69:0, c16, x70:0) :|: c16 = 1 && (c15 = 1 && c14 = x63:0 + 1) && (x66:0 > -1 && x69:0 > 0 && x71:0 < x66:0 && x69:0 < x65:0 && x64:0 >= x63:0 + 1 && x65:0 > -1) 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (115) RankingReductionPairProof (EQUIVALENT) 37.72/13.08 Interpretation: 37.72/13.08 [ f8358_0_entry_GT ] = -1*f8358_0_entry_GT_1 + f8358_0_entry_GT_2 37.72/13.08 37.72/13.08 The following rules are decreasing: 37.72/13.08 f8358_0_entry_GT(i4945:0:0, i4306:0:0, o15672[LinkedList$Entry.next]o15672:0:0, o15672[LinkedList$Entry.previous]o15672:0:0, o15672[LinkedList$Entry.next]o15672:0:0, o15672[LinkedList$Entry.next]o15672:0:0, o15672[LinkedList$Entry.next]o15672:0:0) -> f8358_0_entry_GT(c, i4306:0:0, c1, o17198[LinkedList$Entry.previous]o17198:0:0, c2, c3, c4) :|: c4 = 1 && (c3 = 1 && (c2 = 1 && (c1 = 1 && c = i4945:0:0 + 1))) && (o15672[LinkedList$Entry.previous]o15672:0:0 > -1 && o17085[LinkedList$Entry.previous]o17082:0:0 > 0 && o17085[LinkedList$Entry.previous]o17082:0:0 < o15672[LinkedList$Entry.previous]o15672:0:0 && o17084[LinkedList$Entry.next]o17082:0:0 < o15672[LinkedList$Entry.next]o15672:0:0 && i4945:0:0 + 1 <= i4306:0:0 && o15672[LinkedList$Entry.next]o15672:0:0 > -1) 37.72/13.08 f8358_0_entry_GT(x34:0, x35:0, x36:0, x37:0, x38:0, x39:0, x40:0) -> f8358_0_entry_GT(c5, x35:0, x36:0, x37:0, x42:0, x43:0, x44:0) :|: c5 = x34:0 + 1 && (x45:0 < x44:0 && x45:0 > -1 && x42:0 < x38:0 && x43:0 > x39:0 && x45:0 < x40:0 && x36:0 > 0 && x37:0 > 0 && x35:0 >= x34:0 + 1 && x40:0 > 0 && x38:0 > 0 && x39:0 > 0) 37.72/13.08 f8358_0_entry_GT(x46:0, x47:0, x48:0, x49:0, x48:0, x48:0, x48:0) -> f8358_0_entry_GT(c6, x47:0, c7, c8, c9, c10, c11) :|: c11 = 1 && (c10 = 1 && (c9 = 1 && (c8 = 1 && (c7 = 1 && c6 = x46:0 + 1)))) && (x52:0 < x49:0 && x49:0 > -1 && x51:0 < x48:0 && x47:0 >= x46:0 + 1 && x48:0 > -1) 37.72/13.08 f8358_0_entry_GT(x53:0, x54:0, x55:0, x56:0, x55:0, x55:0, x55:0) -> f8358_0_entry_GT(c12, x54:0, x58:0, x59:0, x60:0, c13, x61:0) :|: c13 = 1 && c12 = x53:0 + 1 && (x60:0 > 0 && x62:0 > 0 && x56:0 > -1 && x62:0 < x56:0 && x60:0 < x55:0 && x54:0 >= x53:0 + 1 && x55:0 > -1) 37.72/13.08 f8358_0_entry_GT(x63:0, x64:0, x65:0, x66:0, x65:0, x65:0, x65:0) -> f8358_0_entry_GT(c14, x64:0, x68:0, c15, x69:0, c16, x70:0) :|: c16 = 1 && (c15 = 1 && c14 = x63:0 + 1) && (x66:0 > -1 && x69:0 > 0 && x71:0 < x66:0 && x69:0 < x65:0 && x64:0 >= x63:0 + 1 && x65:0 > -1) 37.72/13.08 37.72/13.08 The following rules are bounded: 37.72/13.08 f8358_0_entry_GT(i4945:0:0, i4306:0:0, o15672[LinkedList$Entry.next]o15672:0:0, o15672[LinkedList$Entry.previous]o15672:0:0, o15672[LinkedList$Entry.next]o15672:0:0, o15672[LinkedList$Entry.next]o15672:0:0, o15672[LinkedList$Entry.next]o15672:0:0) -> f8358_0_entry_GT(c, i4306:0:0, c1, o17198[LinkedList$Entry.previous]o17198:0:0, c2, c3, c4) :|: c4 = 1 && (c3 = 1 && (c2 = 1 && (c1 = 1 && c = i4945:0:0 + 1))) && (o15672[LinkedList$Entry.previous]o15672:0:0 > -1 && o17085[LinkedList$Entry.previous]o17082:0:0 > 0 && o17085[LinkedList$Entry.previous]o17082:0:0 < o15672[LinkedList$Entry.previous]o15672:0:0 && o17084[LinkedList$Entry.next]o17082:0:0 < o15672[LinkedList$Entry.next]o15672:0:0 && i4945:0:0 + 1 <= i4306:0:0 && o15672[LinkedList$Entry.next]o15672:0:0 > -1) 37.72/13.08 f8358_0_entry_GT(x34:0, x35:0, x36:0, x37:0, x38:0, x39:0, x40:0) -> f8358_0_entry_GT(c5, x35:0, x36:0, x37:0, x42:0, x43:0, x44:0) :|: c5 = x34:0 + 1 && (x45:0 < x44:0 && x45:0 > -1 && x42:0 < x38:0 && x43:0 > x39:0 && x45:0 < x40:0 && x36:0 > 0 && x37:0 > 0 && x35:0 >= x34:0 + 1 && x40:0 > 0 && x38:0 > 0 && x39:0 > 0) 37.72/13.08 f8358_0_entry_GT(x46:0, x47:0, x48:0, x49:0, x48:0, x48:0, x48:0) -> f8358_0_entry_GT(c6, x47:0, c7, c8, c9, c10, c11) :|: c11 = 1 && (c10 = 1 && (c9 = 1 && (c8 = 1 && (c7 = 1 && c6 = x46:0 + 1)))) && (x52:0 < x49:0 && x49:0 > -1 && x51:0 < x48:0 && x47:0 >= x46:0 + 1 && x48:0 > -1) 37.72/13.08 f8358_0_entry_GT(x53:0, x54:0, x55:0, x56:0, x55:0, x55:0, x55:0) -> f8358_0_entry_GT(c12, x54:0, x58:0, x59:0, x60:0, c13, x61:0) :|: c13 = 1 && c12 = x53:0 + 1 && (x60:0 > 0 && x62:0 > 0 && x56:0 > -1 && x62:0 < x56:0 && x60:0 < x55:0 && x54:0 >= x53:0 + 1 && x55:0 > -1) 37.72/13.08 f8358_0_entry_GT(x63:0, x64:0, x65:0, x66:0, x65:0, x65:0, x65:0) -> f8358_0_entry_GT(c14, x64:0, x68:0, c15, x69:0, c16, x70:0) :|: c16 = 1 && (c15 = 1 && c14 = x63:0 + 1) && (x66:0 > -1 && x69:0 > 0 && x71:0 < x66:0 && x69:0 < x65:0 && x64:0 >= x63:0 + 1 && x65:0 > -1) 37.72/13.08 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (116) 37.72/13.08 YES 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (117) 37.72/13.08 Obligation: 37.72/13.08 SCC of termination graph based on JBC Program. 37.72/13.08 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateIndexOf.main([Ljava/lang/String;)V 37.72/13.08 SCC calls the following helper methods: 37.72/13.08 Performed SCC analyses: 37.72/13.08 *Used field analysis yielded the following read fields: 37.72/13.08 *javaUtilEx.LinkedList$Entry: [previous] 37.72/13.08 *Marker field analysis yielded the following relations that could be markers: 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (118) SCCToIRSProof (SOUND) 37.72/13.08 Transformed FIGraph SCCs to intTRSs. Log: 37.72/13.08 Generated rules. Obtained 40 IRulesP rules: 37.72/13.08 f7826_0_entry_LE(EOS(STATIC_7826), i4306, i4511, i4511, i4306, o13346[LinkedList$Entry.previous]o13344, o13346[LinkedList$Entry.next]o13346, o13344[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13346, o13344[LinkedList$Entry.previous]o13344) -> f7837_0_entry_Load(EOS(STATIC_7837), i4306, i4511, o13346[LinkedList$Entry.previous]o13344, o13346[LinkedList$Entry.next]o13346, o13344[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13346, o13344[LinkedList$Entry.previous]o13344) :|: i4511 > i4306 37.72/13.08 f7837_0_entry_Load(EOS(STATIC_7837), i4306, i4511, o13346[LinkedList$Entry.previous]o13344, o13346[LinkedList$Entry.next]o13346, o13344[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13346, o13344[LinkedList$Entry.previous]o13344) -> f7850_0_entry_FieldAccess(EOS(STATIC_7850), i4306, i4511, o13346[LinkedList$Entry.previous]o13344, o13346[LinkedList$Entry.next]o13346, o13344[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13346, o13344[LinkedList$Entry.previous]o13344) :|: TRUE 37.72/13.08 f7850_0_entry_FieldAccess(EOS(STATIC_7850), i4306, i4511, o13346[LinkedList$Entry.previous]o13344, o13346[LinkedList$Entry.next]o13346, o13344[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13346, o13344[LinkedList$Entry.previous]o13344) -> f7861_0_entry_FieldAccess(EOS(STATIC_7861), i4306, i4511, o13346[LinkedList$Entry.previous]o13344, o13346[LinkedList$Entry.next]o13346, o13344[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13346, o13344[LinkedList$Entry.previous]o13344) :|: o13346[LinkedList$Entry.previous]o13344 > 0 && o13346[LinkedList$Entry.next]o13346 > 0 && o13344[LinkedList$Entry.previous]o13346 > 0 && o13346[LinkedList$Entry.previous]o13346 > 0 && o13344[LinkedList$Entry.previous]o13344 > 0 37.72/13.08 f7850_0_entry_FieldAccess(EOS(STATIC_7850), i4306, i4511, o13446[LinkedList$Entry.previous]o13446, o13446[LinkedList$Entry.next]o13446, o13446[LinkedList$Entry.previous]o13446, o13446[LinkedList$Entry.previous]o13446, o13446[LinkedList$Entry.previous]o13446) -> f7862_0_entry_FieldAccess(EOS(STATIC_7862), i4306, i4511, o13446[LinkedList$Entry.next]o13446, o13446[LinkedList$Entry.previous]o13446) :|: TRUE 37.72/13.08 f7861_0_entry_FieldAccess(EOS(STATIC_7861), i4306, i4511, o13346[LinkedList$Entry.previous]o13516, o13346[LinkedList$Entry.next]o13346, o13516[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13346, o13516[LinkedList$Entry.previous]o13516) -> f7879_0_entry_FieldAccess(EOS(STATIC_7879), i4306, i4511, o13346[LinkedList$Entry.next]o13346, o13346[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13516, o13519[LinkedList$Entry.previous]o13346, o13519[LinkedList$Entry.previous]o13516) :|: o13519[LinkedList$Entry.previous]o13346 < o13516[LinkedList$Entry.previous]o13346 && o13516[LinkedList$Entry.previous]o13346 >= 0 && o13519[LinkedList$Entry.previous]o13516 < o13516[LinkedList$Entry.previous]o13516 && o13516[LinkedList$Entry.previous]o13516 >= 0 37.72/13.08 f7879_0_entry_FieldAccess(EOS(STATIC_7879), i4306, i4511, o13346[LinkedList$Entry.next]o13346, o13346[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13516, o13519[LinkedList$Entry.previous]o13346, o13519[LinkedList$Entry.previous]o13516) -> f7903_0_entry_Store(EOS(STATIC_7903), i4306, i4511, o13346[LinkedList$Entry.next]o13346, o13346[LinkedList$Entry.previous]o13346, o13519[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13519, o13519[LinkedList$Entry.previous]o13519) :|: o13346[LinkedList$Entry.previous]o13519 > o13346[LinkedList$Entry.previous]o13516 && o13346[LinkedList$Entry.previous]o13516 >= 0 && o13519[LinkedList$Entry.previous]o13519 > o13519[LinkedList$Entry.previous]o13516 && o13519[LinkedList$Entry.previous]o13516 >= 0 37.72/13.08 f7903_0_entry_Store(EOS(STATIC_7903), i4306, i4511, o13346[LinkedList$Entry.next]o13346, o13346[LinkedList$Entry.previous]o13346, o13519[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13519, o13519[LinkedList$Entry.previous]o13519) -> f7926_0_entry_Inc(EOS(STATIC_7926), i4306, i4511, o13346[LinkedList$Entry.next]o13346, o13346[LinkedList$Entry.previous]o13346, o13519[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13519, o13519[LinkedList$Entry.previous]o13519) :|: TRUE 37.72/13.08 f7926_0_entry_Inc(EOS(STATIC_7926), i4306, i4511, o13346[LinkedList$Entry.next]o13346, o13346[LinkedList$Entry.previous]o13346, o13519[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13519, o13519[LinkedList$Entry.previous]o13519) -> f7951_0_entry_JMP(EOS(STATIC_7951), i4306, i4511 + -1, o13346[LinkedList$Entry.next]o13346, o13346[LinkedList$Entry.previous]o13346, o13519[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13519, o13519[LinkedList$Entry.previous]o13519) :|: TRUE 37.72/13.08 f7951_0_entry_JMP(EOS(STATIC_7951), i4306, i4581, o13346[LinkedList$Entry.next]o13346, o13346[LinkedList$Entry.previous]o13346, o13519[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13519, o13519[LinkedList$Entry.previous]o13519) -> f7971_0_entry_Load(EOS(STATIC_7971), i4306, i4581, o13346[LinkedList$Entry.next]o13346, o13346[LinkedList$Entry.previous]o13346, o13519[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13519, o13519[LinkedList$Entry.previous]o13519) :|: TRUE 37.72/13.08 f7971_0_entry_Load(EOS(STATIC_7971), i4306, i4581, o13346[LinkedList$Entry.next]o13346, o13346[LinkedList$Entry.previous]o13346, o13519[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13519, o13519[LinkedList$Entry.previous]o13519) -> f7796_0_entry_Load(EOS(STATIC_7796), i4306, i4581, o13346[LinkedList$Entry.previous]o13519, o13346[LinkedList$Entry.next]o13346, o13519[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13346, o13519[LinkedList$Entry.previous]o13519) :|: TRUE 37.72/13.08 f7796_0_entry_Load(EOS(STATIC_7796), i4306, i4511, o13346[LinkedList$Entry.previous]o13344, o13346[LinkedList$Entry.next]o13346, o13344[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13346, o13344[LinkedList$Entry.previous]o13344) -> f7804_0_entry_Load(EOS(STATIC_7804), i4306, i4511, i4511, o13346[LinkedList$Entry.previous]o13344, o13346[LinkedList$Entry.next]o13346, o13344[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13346, o13344[LinkedList$Entry.previous]o13344) :|: TRUE 37.72/13.08 f7804_0_entry_Load(EOS(STATIC_7804), i4306, i4511, i4511, o13346[LinkedList$Entry.previous]o13344, o13346[LinkedList$Entry.next]o13346, o13344[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13346, o13344[LinkedList$Entry.previous]o13344) -> f7815_0_entry_LE(EOS(STATIC_7815), i4306, i4511, i4511, i4306, o13346[LinkedList$Entry.previous]o13344, o13346[LinkedList$Entry.next]o13346, o13344[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13346, o13344[LinkedList$Entry.previous]o13344) :|: TRUE 37.72/13.08 f7815_0_entry_LE(EOS(STATIC_7815), i4306, i4511, i4511, i4306, o13346[LinkedList$Entry.previous]o13344, o13346[LinkedList$Entry.next]o13346, o13344[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13346, o13344[LinkedList$Entry.previous]o13344) -> f7826_0_entry_LE(EOS(STATIC_7826), i4306, i4511, i4511, i4306, o13346[LinkedList$Entry.previous]o13344, o13346[LinkedList$Entry.next]o13346, o13344[LinkedList$Entry.previous]o13346, o13346[LinkedList$Entry.previous]o13346, o13344[LinkedList$Entry.previous]o13344) :|: i4511 > i4306 37.72/13.08 f7862_0_entry_FieldAccess(EOS(STATIC_7862), i4306, i4511, o13520[LinkedList$Entry.next]o13520, o13520[LinkedList$Entry.previous]o13520) -> f7880_0_entry_FieldAccess(EOS(STATIC_7880), i4306, i4511, o13522[LinkedList$Entry.next]o13520, o13523[LinkedList$Entry.previous]o13520) :|: o13522[LinkedList$Entry.next]o13520 < o13520[LinkedList$Entry.next]o13520 && o13520[LinkedList$Entry.next]o13520 >= 0 && o13523[LinkedList$Entry.previous]o13520 < o13520[LinkedList$Entry.previous]o13520 && o13520[LinkedList$Entry.previous]o13520 >= 0 37.72/13.08 f7880_0_entry_FieldAccess(EOS(STATIC_7880), i4306, i4511, o13522[LinkedList$Entry.next]o13520, o13523[LinkedList$Entry.previous]o13520) -> f7904_0_entry_FieldAccess(EOS(STATIC_7904), i4306, i4511, o13523[LinkedList$Entry.previous]o13520, o13522[LinkedList$Entry.next]o13520) :|: o13522[LinkedList$Entry.next]o13520 > 0 37.72/13.08 f7880_0_entry_FieldAccess(EOS(STATIC_7880), i4306, i4511, o13522[LinkedList$Entry.next]o13672, o13523[LinkedList$Entry.previous]o13672) -> f7905_0_entry_FieldAccess(EOS(STATIC_7905), i4306, i4511, o13523[LinkedList$Entry.previous]o13672) :|: TRUE 37.72/13.08 f7904_0_entry_FieldAccess(EOS(STATIC_7904), i4306, i4511, o13523[LinkedList$Entry.previous]o13520, o13522[LinkedList$Entry.next]o13520) -> f7927_0_entry_FieldAccess(EOS(STATIC_7927), i4306, i4511, o13522[LinkedList$Entry.next]o13520, o13523[LinkedList$Entry.previous]o13520) :|: o13523[LinkedList$Entry.previous]o13520 > 0 37.72/13.08 f7904_0_entry_FieldAccess(EOS(STATIC_7904), i4306, i4511, o13523[LinkedList$Entry.previous]o13735, o13522[LinkedList$Entry.next]o13735) -> f7928_0_entry_FieldAccess(EOS(STATIC_7928), i4306, i4511, o13522[LinkedList$Entry.next]o13735) :|: TRUE 37.72/13.08 f7927_0_entry_FieldAccess(EOS(STATIC_7927), i4306, i4511, o13522[LinkedList$Entry.next]o13520, o13523[LinkedList$Entry.previous]o13520) -> f7952_0_entry_Store(EOS(STATIC_7952), i4306, i4511, o13522[LinkedList$Entry.next]o13520, o13523[LinkedList$Entry.previous]o13520) :|: TRUE 37.72/13.08 f7952_0_entry_Store(EOS(STATIC_7952), i4306, i4511, o13522[LinkedList$Entry.next]o13520, o13523[LinkedList$Entry.previous]o13520) -> f7972_0_entry_Inc(EOS(STATIC_7972), i4306, i4511, o13522[LinkedList$Entry.next]o13520, o13523[LinkedList$Entry.previous]o13520) :|: TRUE 37.72/13.08 f7972_0_entry_Inc(EOS(STATIC_7972), i4306, i4511, o13522[LinkedList$Entry.next]o13520, o13523[LinkedList$Entry.previous]o13520) -> f7994_0_entry_JMP(EOS(STATIC_7994), i4306, i4511 + -1, o13522[LinkedList$Entry.next]o13520, o13523[LinkedList$Entry.previous]o13520) :|: TRUE 37.72/13.08 f7994_0_entry_JMP(EOS(STATIC_7994), i4306, i4605, o13522[LinkedList$Entry.next]o13520, o13523[LinkedList$Entry.previous]o13520) -> f8013_0_entry_Load(EOS(STATIC_8013), i4306, i4605, o13522[LinkedList$Entry.next]o13520, o13523[LinkedList$Entry.previous]o13520) :|: TRUE 37.72/13.08 f8013_0_entry_Load(EOS(STATIC_8013), i4306, i4605, o13522[LinkedList$Entry.next]o13520, o13523[LinkedList$Entry.previous]o13520) -> f7796_0_entry_Load(EOS(STATIC_7796), i4306, i4605, o13520[LinkedList$Entry.previous]o13523, o13520[LinkedList$Entry.next]o13520, o13523[LinkedList$Entry.previous]o13520, o13520[LinkedList$Entry.previous]o13520, o13523[LinkedList$Entry.previous]o13523) :|: o13520[LinkedList$Entry.previous]o13523 = 1 37.72/13.08 f7928_0_entry_FieldAccess(EOS(STATIC_7928), i4306, i4511, o13522[LinkedList$Entry.next]o13735) -> f7953_0_entry_Store(EOS(STATIC_7953), i4306, i4511, o13522[LinkedList$Entry.next]o13735) :|: TRUE 37.72/13.08 f7953_0_entry_Store(EOS(STATIC_7953), i4306, i4511, o13522[LinkedList$Entry.next]o13735) -> f7973_0_entry_Inc(EOS(STATIC_7973), i4306, i4511, o13522[LinkedList$Entry.next]o13735) :|: TRUE 37.72/13.08 f7973_0_entry_Inc(EOS(STATIC_7973), i4306, i4511, o13522[LinkedList$Entry.next]o13735) -> f7995_0_entry_JMP(EOS(STATIC_7995), i4306, i4511 + -1, o13522[LinkedList$Entry.next]o13735) :|: TRUE 37.72/13.08 f7995_0_entry_JMP(EOS(STATIC_7995), i4306, i4607, o13522[LinkedList$Entry.next]o13735) -> f8014_0_entry_Load(EOS(STATIC_8014), i4306, i4607, o13522[LinkedList$Entry.next]o13735) :|: TRUE 37.72/13.08 f8014_0_entry_Load(EOS(STATIC_8014), i4306, i4607, o13522[LinkedList$Entry.next]o13735) -> f7796_0_entry_Load(EOS(STATIC_7796), i4306, i4607, o13735[LinkedList$Entry.previous]o13735, o13735[LinkedList$Entry.next]o13735, o13735[LinkedList$Entry.previous]o13735, o13735[LinkedList$Entry.previous]o13735, o13735[LinkedList$Entry.previous]o13735) :|: o13735[LinkedList$Entry.previous]o13735 = 1 && o13735[LinkedList$Entry.previous]o13735 = 1 && o13735[LinkedList$Entry.previous]o13735 = 1 && o13735[LinkedList$Entry.previous]o13735 = 1 37.72/13.08 f7905_0_entry_FieldAccess(EOS(STATIC_7905), i4306, i4511, o13523[LinkedList$Entry.previous]o13672) -> f7929_0_entry_FieldAccess(EOS(STATIC_7929), i4306, i4511, o13523[LinkedList$Entry.previous]o13672) :|: o13523[LinkedList$Entry.previous]o13672 > 0 37.72/13.08 f7905_0_entry_FieldAccess(EOS(STATIC_7905), i4306, i4511, o13523[LinkedList$Entry.previous]o13738) -> f7930_0_entry_FieldAccess(EOS(STATIC_7930), i4306, i4511) :|: TRUE 37.72/13.08 f7929_0_entry_FieldAccess(EOS(STATIC_7929), i4306, i4511, o13523[LinkedList$Entry.previous]o13672) -> f7954_0_entry_Store(EOS(STATIC_7954), i4306, i4511, o13523[LinkedList$Entry.previous]o13672) :|: TRUE 37.72/13.08 f7954_0_entry_Store(EOS(STATIC_7954), i4306, i4511, o13523[LinkedList$Entry.previous]o13672) -> f7974_0_entry_Inc(EOS(STATIC_7974), i4306, i4511, o13523[LinkedList$Entry.previous]o13672) :|: TRUE 37.72/13.08 f7974_0_entry_Inc(EOS(STATIC_7974), i4306, i4511, o13523[LinkedList$Entry.previous]o13672) -> f7996_0_entry_JMP(EOS(STATIC_7996), i4306, i4511 + -1, o13523[LinkedList$Entry.previous]o13672) :|: TRUE 37.72/13.08 f7996_0_entry_JMP(EOS(STATIC_7996), i4306, i4608, o13523[LinkedList$Entry.previous]o13672) -> f8015_0_entry_Load(EOS(STATIC_8015), i4306, i4608, o13523[LinkedList$Entry.previous]o13672) :|: TRUE 37.72/13.08 f8015_0_entry_Load(EOS(STATIC_8015), i4306, i4608, o13523[LinkedList$Entry.previous]o13672) -> f7796_0_entry_Load(EOS(STATIC_7796), i4306, i4608, o13672[LinkedList$Entry.previous]o13523, o13672[LinkedList$Entry.next]o13672, o13523[LinkedList$Entry.previous]o13672, o13672[LinkedList$Entry.previous]o13672, o13523[LinkedList$Entry.previous]o13523) :|: o13672[LinkedList$Entry.previous]o13523 = 1 && o13672[LinkedList$Entry.next]o13672 = 1 37.72/13.08 f7930_0_entry_FieldAccess(EOS(STATIC_7930), i4306, i4511) -> f7955_0_entry_Store(EOS(STATIC_7955), i4306, i4511) :|: TRUE 37.72/13.08 f7955_0_entry_Store(EOS(STATIC_7955), i4306, i4511) -> f7975_0_entry_Inc(EOS(STATIC_7975), i4306, i4511) :|: TRUE 37.72/13.08 f7975_0_entry_Inc(EOS(STATIC_7975), i4306, i4511) -> f7997_0_entry_JMP(EOS(STATIC_7997), i4306, i4511 + -1) :|: TRUE 37.72/13.08 f7997_0_entry_JMP(EOS(STATIC_7997), i4306, i4612) -> f8016_0_entry_Load(EOS(STATIC_8016), i4306, i4612) :|: TRUE 37.72/13.08 f8016_0_entry_Load(EOS(STATIC_8016), i4306, i4612) -> f7796_0_entry_Load(EOS(STATIC_7796), i4306, i4612, o13738[LinkedList$Entry.previous]o13738, o13738[LinkedList$Entry.next]o13738, o13738[LinkedList$Entry.previous]o13738, o13738[LinkedList$Entry.previous]o13738, o13738[LinkedList$Entry.previous]o13738) :|: o13738[LinkedList$Entry.previous]o13738 = 1 && o13738[LinkedList$Entry.next]o13738 = 1 && o13738[LinkedList$Entry.previous]o13738 = 1 && o13738[LinkedList$Entry.previous]o13738 = 1 && o13738[LinkedList$Entry.previous]o13738 = 1 37.72/13.08 Combined rules. Obtained 5 IRulesP rules: 37.72/13.08 f7826_0_entry_LE(EOS(STATIC_7826), i4306:0, i4511:0, i4511:0, i4306:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.next]o13346:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0) -> f7826_0_entry_LE(EOS(STATIC_7826), i4306:0, i4511:0 - 1, i4511:0 - 1, i4306:0, 1, 1, o13523[LinkedList$Entry.previous]o13520:0, o13672[LinkedList$Entry.previous]o13672:0, o13523[LinkedList$Entry.previous]o13523:0) :|: o13346[LinkedList$Entry.next]o13346:0 > -1 && o13522[LinkedList$Entry.next]o13520:0 < o13346[LinkedList$Entry.next]o13346:0 && o13523[LinkedList$Entry.previous]o13520:0 < o13346[LinkedList$Entry.previous]o13344:0 && i4511:0 > i4306:0 && o13346[LinkedList$Entry.previous]o13344:0 > -1 && i4511:0 - 1 > i4306:0 && o13523[LinkedList$Entry.previous]o13520:0 > 0 37.72/13.08 f7826_0_entry_LE(EOS(STATIC_7826), i4306:0, i4511:0, i4511:0, i4306:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.next]o13346:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0) -> f7826_0_entry_LE(EOS(STATIC_7826), i4306:0, i4511:0 - 1, i4511:0 - 1, i4306:0, 1, 1, 1, 1, 1) :|: o13346[LinkedList$Entry.next]o13346:0 > -1 && o13522[LinkedList$Entry.next]o13520:0 < o13346[LinkedList$Entry.next]o13346:0 && o13523[LinkedList$Entry.previous]o13520:0 < o13346[LinkedList$Entry.previous]o13344:0 && i4511:0 > i4306:0 && i4511:0 - 1 > i4306:0 && o13346[LinkedList$Entry.previous]o13344:0 > -1 37.72/13.08 f7826_0_entry_LE(EOS(STATIC_7826), i4306:0, i4511:0, i4511:0, i4306:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.next]o13346:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0) -> f7826_0_entry_LE(EOS(STATIC_7826), i4306:0, i4511:0 - 1, i4511:0 - 1, i4306:0, 1, o13735[LinkedList$Entry.next]o13735:0, 1, 1, 1) :|: o13346[LinkedList$Entry.next]o13346:0 > -1 && o13522[LinkedList$Entry.next]o13520:0 < o13346[LinkedList$Entry.next]o13346:0 && o13523[LinkedList$Entry.previous]o13520:0 < o13346[LinkedList$Entry.previous]o13344:0 && i4511:0 > i4306:0 && o13346[LinkedList$Entry.previous]o13344:0 > -1 && i4511:0 - 1 > i4306:0 && o13522[LinkedList$Entry.next]o13520:0 > 0 37.72/13.08 f7826_0_entry_LE(EOS(STATIC_7826), i4306:0, i4511:0, i4511:0, i4306:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.next]o13346:0, o13344[LinkedList$Entry.previous]o13346:0, o13346[LinkedList$Entry.previous]o13346:0, o13344[LinkedList$Entry.previous]o13344:0) -> f7826_0_entry_LE(EOS(STATIC_7826), i4306:0, i4511:0 - 1, i4511:0 - 1, i4306:0, o13346[LinkedList$Entry.previous]o13519:0, o13346[LinkedList$Entry.next]o13346:0, o13519[LinkedList$Entry.previous]o13346:0, o13346[LinkedList$Entry.previous]o13346:0, o13519[LinkedList$Entry.previous]o13519:0) :|: o13346[LinkedList$Entry.previous]o13344:0 > 0 && o13344[LinkedList$Entry.previous]o13346:0 > 0 && o13344[LinkedList$Entry.previous]o13344:0 > 0 && o13346[LinkedList$Entry.next]o13346:0 > 0 && o13519[LinkedList$Entry.previous]o13346:0 < o13344[LinkedList$Entry.previous]o13346:0 && o13346[LinkedList$Entry.previous]o13346:0 > 0 && o13346[LinkedList$Entry.previous]o13519:0 > o13346[LinkedList$Entry.previous]o13344:0 && o13519[LinkedList$Entry.previous]o13516:0 < o13344[LinkedList$Entry.previous]o13344:0 && i4511:0 > i4306:0 && o13519[LinkedList$Entry.previous]o13519:0 > o13519[LinkedList$Entry.previous]o13516:0 && i4511:0 - 1 > i4306:0 && o13519[LinkedList$Entry.previous]o13516:0 > -1 37.72/13.08 f7826_0_entry_LE(EOS(STATIC_7826), i4306:0, i4511:0, i4511:0, i4306:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.next]o13346:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0) -> f7826_0_entry_LE(EOS(STATIC_7826), i4306:0, i4511:0 - 1, i4511:0 - 1, i4306:0, 1, o13520[LinkedList$Entry.next]o13520:0, o13523[LinkedList$Entry.previous]o13520:0, o13520[LinkedList$Entry.previous]o13520:0, o13523[LinkedList$Entry.previous]o13523:0) :|: o13346[LinkedList$Entry.next]o13346:0 > -1 && o13522[LinkedList$Entry.next]o13520:0 < o13346[LinkedList$Entry.next]o13346:0 && o13523[LinkedList$Entry.previous]o13520:0 < o13346[LinkedList$Entry.previous]o13344:0 && i4511:0 > i4306:0 && o13346[LinkedList$Entry.previous]o13344:0 > -1 && o13522[LinkedList$Entry.next]o13520:0 > 0 && i4511:0 - 1 > i4306:0 && o13523[LinkedList$Entry.previous]o13520:0 > 0 37.72/13.08 Filtered constant ground arguments: 37.72/13.08 f7826_0_entry_LE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f7826_0_entry_LE(x2, x3, x4, x5, x6, x7, x8, x9, x10) 37.72/13.08 EOS(x1) -> EOS 37.72/13.08 Filtered duplicate arguments: 37.72/13.08 f7826_0_entry_LE(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f7826_0_entry_LE(x3, x4, x5, x6, x7, x8, x9) 37.72/13.08 Finished conversion. Obtained 5 rules.P rules: 37.72/13.08 f7826_0_entry_LE(i4511:0, i4306:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.next]o13346:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0) -> f7826_0_entry_LE(i4511:0 - 1, i4306:0, 1, 1, o13523[LinkedList$Entry.previous]o13520:0, o13672[LinkedList$Entry.previous]o13672:0, o13523[LinkedList$Entry.previous]o13523:0) :|: o13522[LinkedList$Entry.next]o13520:0 < o13346[LinkedList$Entry.next]o13346:0 && o13346[LinkedList$Entry.next]o13346:0 > -1 && o13523[LinkedList$Entry.previous]o13520:0 < o13346[LinkedList$Entry.previous]o13344:0 && i4511:0 > i4306:0 && o13346[LinkedList$Entry.previous]o13344:0 > -1 && o13523[LinkedList$Entry.previous]o13520:0 > 0 && i4511:0 - 1 > i4306:0 37.72/13.08 f7826_0_entry_LE(i4511:0, i4306:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.next]o13346:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0) -> f7826_0_entry_LE(i4511:0 - 1, i4306:0, 1, 1, 1, 1, 1) :|: o13522[LinkedList$Entry.next]o13520:0 < o13346[LinkedList$Entry.next]o13346:0 && o13346[LinkedList$Entry.next]o13346:0 > -1 && o13523[LinkedList$Entry.previous]o13520:0 < o13346[LinkedList$Entry.previous]o13344:0 && i4511:0 > i4306:0 && o13346[LinkedList$Entry.previous]o13344:0 > -1 && i4511:0 - 1 > i4306:0 37.72/13.08 f7826_0_entry_LE(i4511:0, i4306:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.next]o13346:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0) -> f7826_0_entry_LE(i4511:0 - 1, i4306:0, 1, o13735[LinkedList$Entry.next]o13735:0, 1, 1, 1) :|: o13522[LinkedList$Entry.next]o13520:0 < o13346[LinkedList$Entry.next]o13346:0 && o13346[LinkedList$Entry.next]o13346:0 > -1 && o13523[LinkedList$Entry.previous]o13520:0 < o13346[LinkedList$Entry.previous]o13344:0 && i4511:0 > i4306:0 && o13346[LinkedList$Entry.previous]o13344:0 > -1 && o13522[LinkedList$Entry.next]o13520:0 > 0 && i4511:0 - 1 > i4306:0 37.72/13.08 f7826_0_entry_LE(i4511:0, i4306:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.next]o13346:0, o13344[LinkedList$Entry.previous]o13346:0, o13346[LinkedList$Entry.previous]o13346:0, o13344[LinkedList$Entry.previous]o13344:0) -> f7826_0_entry_LE(i4511:0 - 1, i4306:0, o13346[LinkedList$Entry.previous]o13519:0, o13346[LinkedList$Entry.next]o13346:0, o13519[LinkedList$Entry.previous]o13346:0, o13346[LinkedList$Entry.previous]o13346:0, o13519[LinkedList$Entry.previous]o13519:0) :|: o13344[LinkedList$Entry.previous]o13346:0 > 0 && o13346[LinkedList$Entry.previous]o13344:0 > 0 && o13344[LinkedList$Entry.previous]o13344:0 > 0 && o13346[LinkedList$Entry.next]o13346:0 > 0 && o13519[LinkedList$Entry.previous]o13346:0 < o13344[LinkedList$Entry.previous]o13346:0 && o13346[LinkedList$Entry.previous]o13346:0 > 0 && o13346[LinkedList$Entry.previous]o13519:0 > o13346[LinkedList$Entry.previous]o13344:0 && o13519[LinkedList$Entry.previous]o13516:0 < o13344[LinkedList$Entry.previous]o13344:0 && i4511:0 > i4306:0 && o13519[LinkedList$Entry.previous]o13519:0 > o13519[LinkedList$Entry.previous]o13516:0 && o13519[LinkedList$Entry.previous]o13516:0 > -1 && i4511:0 - 1 > i4306:0 37.72/13.08 f7826_0_entry_LE(i4511:0, i4306:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.next]o13346:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0) -> f7826_0_entry_LE(i4511:0 - 1, i4306:0, 1, o13520[LinkedList$Entry.next]o13520:0, o13523[LinkedList$Entry.previous]o13520:0, o13520[LinkedList$Entry.previous]o13520:0, o13523[LinkedList$Entry.previous]o13523:0) :|: o13522[LinkedList$Entry.next]o13520:0 < o13346[LinkedList$Entry.next]o13346:0 && o13346[LinkedList$Entry.next]o13346:0 > -1 && o13523[LinkedList$Entry.previous]o13520:0 < o13346[LinkedList$Entry.previous]o13344:0 && i4511:0 > i4306:0 && o13346[LinkedList$Entry.previous]o13344:0 > -1 && o13522[LinkedList$Entry.next]o13520:0 > 0 && o13523[LinkedList$Entry.previous]o13520:0 > 0 && i4511:0 - 1 > i4306:0 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (119) 37.72/13.08 Obligation: 37.72/13.08 Rules: 37.72/13.08 f7826_0_entry_LE(i4511:0, i4306:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.next]o13346:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0) -> f7826_0_entry_LE(i4511:0 - 1, i4306:0, 1, 1, o13523[LinkedList$Entry.previous]o13520:0, o13672[LinkedList$Entry.previous]o13672:0, o13523[LinkedList$Entry.previous]o13523:0) :|: o13522[LinkedList$Entry.next]o13520:0 < o13346[LinkedList$Entry.next]o13346:0 && o13346[LinkedList$Entry.next]o13346:0 > -1 && o13523[LinkedList$Entry.previous]o13520:0 < o13346[LinkedList$Entry.previous]o13344:0 && i4511:0 > i4306:0 && o13346[LinkedList$Entry.previous]o13344:0 > -1 && o13523[LinkedList$Entry.previous]o13520:0 > 0 && i4511:0 - 1 > i4306:0 37.72/13.08 f7826_0_entry_LE(x, x1, x2, x3, x2, x2, x2) -> f7826_0_entry_LE(x - 1, x1, 1, 1, 1, 1, 1) :|: x4 < x3 && x3 > -1 && x5 < x2 && x > x1 && x2 > -1 && x - 1 > x1 37.72/13.08 f7826_0_entry_LE(x6, x7, x8, x9, x8, x8, x8) -> f7826_0_entry_LE(x6 - 1, x7, 1, x10, 1, 1, 1) :|: x11 < x9 && x9 > -1 && x12 < x8 && x6 > x7 && x8 > -1 && x11 > 0 && x6 - 1 > x7 37.72/13.08 f7826_0_entry_LE(x13, x14, x15, x16, x17, x18, x19) -> f7826_0_entry_LE(x13 - 1, x14, x20, x16, x21, x18, x22) :|: x17 > 0 && x15 > 0 && x19 > 0 && x16 > 0 && x21 < x17 && x18 > 0 && x20 > x15 && x23 < x19 && x13 > x14 && x22 > x23 && x23 > -1 && x13 - 1 > x14 37.72/13.08 f7826_0_entry_LE(x24, x25, x26, x27, x26, x26, x26) -> f7826_0_entry_LE(x24 - 1, x25, 1, x28, x29, x30, x31) :|: x32 < x27 && x27 > -1 && x29 < x26 && x24 > x25 && x26 > -1 && x32 > 0 && x29 > 0 && x24 - 1 > x25 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (120) IRSFormatTransformerProof (EQUIVALENT) 37.72/13.08 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (121) 37.72/13.08 Obligation: 37.72/13.08 Rules: 37.72/13.08 f7826_0_entry_LE(i4511:0, i4306:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.next]o13346:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0) -> f7826_0_entry_LE(arith, i4306:0, 1, 1, o13523[LinkedList$Entry.previous]o13520:0, o13672[LinkedList$Entry.previous]o13672:0, o13523[LinkedList$Entry.previous]o13523:0) :|: o13522[LinkedList$Entry.next]o13520:0 < o13346[LinkedList$Entry.next]o13346:0 && o13346[LinkedList$Entry.next]o13346:0 > -1 && o13523[LinkedList$Entry.previous]o13520:0 < o13346[LinkedList$Entry.previous]o13344:0 && i4511:0 > i4306:0 && o13346[LinkedList$Entry.previous]o13344:0 > -1 && o13523[LinkedList$Entry.previous]o13520:0 > 0 && i4511:0 - 1 > i4306:0 && arith = i4511:0 - 1 37.72/13.08 f7826_0_entry_LE(x33, x34, x35, x36, x35, x35, x35) -> f7826_0_entry_LE(x37, x34, 1, 1, 1, 1, 1) :|: x38 < x36 && x36 > -1 && x39 < x35 && x33 > x34 && x35 > -1 && x33 - 1 > x34 && x37 = x33 - 1 37.72/13.08 f7826_0_entry_LE(x40, x41, x42, x43, x42, x42, x42) -> f7826_0_entry_LE(x44, x41, 1, x45, 1, 1, 1) :|: x46 < x43 && x43 > -1 && x47 < x42 && x40 > x41 && x42 > -1 && x46 > 0 && x40 - 1 > x41 && x44 = x40 - 1 37.72/13.08 f7826_0_entry_LE(x48, x49, x50, x51, x52, x53, x54) -> f7826_0_entry_LE(x55, x49, x56, x51, x57, x53, x58) :|: x52 > 0 && x50 > 0 && x54 > 0 && x51 > 0 && x57 < x52 && x53 > 0 && x56 > x50 && x59 < x54 && x48 > x49 && x58 > x59 && x59 > -1 && x48 - 1 > x49 && x55 = x48 - 1 37.72/13.08 f7826_0_entry_LE(x60, x61, x62, x63, x62, x62, x62) -> f7826_0_entry_LE(x64, x61, 1, x65, x66, x67, x68) :|: x69 < x63 && x63 > -1 && x66 < x62 && x60 > x61 && x62 > -1 && x69 > 0 && x66 > 0 && x60 - 1 > x61 && x64 = x60 - 1 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (122) IRSwTTerminationDigraphProof (EQUIVALENT) 37.72/13.08 Constructed termination digraph! 37.72/13.08 Nodes: 37.72/13.08 (1) f7826_0_entry_LE(i4511:0, i4306:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.next]o13346:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0) -> f7826_0_entry_LE(arith, i4306:0, 1, 1, o13523[LinkedList$Entry.previous]o13520:0, o13672[LinkedList$Entry.previous]o13672:0, o13523[LinkedList$Entry.previous]o13523:0) :|: o13522[LinkedList$Entry.next]o13520:0 < o13346[LinkedList$Entry.next]o13346:0 && o13346[LinkedList$Entry.next]o13346:0 > -1 && o13523[LinkedList$Entry.previous]o13520:0 < o13346[LinkedList$Entry.previous]o13344:0 && i4511:0 > i4306:0 && o13346[LinkedList$Entry.previous]o13344:0 > -1 && o13523[LinkedList$Entry.previous]o13520:0 > 0 && i4511:0 - 1 > i4306:0 && arith = i4511:0 - 1 37.72/13.08 (2) f7826_0_entry_LE(x33, x34, x35, x36, x35, x35, x35) -> f7826_0_entry_LE(x37, x34, 1, 1, 1, 1, 1) :|: x38 < x36 && x36 > -1 && x39 < x35 && x33 > x34 && x35 > -1 && x33 - 1 > x34 && x37 = x33 - 1 37.72/13.08 (3) f7826_0_entry_LE(x40, x41, x42, x43, x42, x42, x42) -> f7826_0_entry_LE(x44, x41, 1, x45, 1, 1, 1) :|: x46 < x43 && x43 > -1 && x47 < x42 && x40 > x41 && x42 > -1 && x46 > 0 && x40 - 1 > x41 && x44 = x40 - 1 37.72/13.08 (4) f7826_0_entry_LE(x48, x49, x50, x51, x52, x53, x54) -> f7826_0_entry_LE(x55, x49, x56, x51, x57, x53, x58) :|: x52 > 0 && x50 > 0 && x54 > 0 && x51 > 0 && x57 < x52 && x53 > 0 && x56 > x50 && x59 < x54 && x48 > x49 && x58 > x59 && x59 > -1 && x48 - 1 > x49 && x55 = x48 - 1 37.72/13.08 (5) f7826_0_entry_LE(x60, x61, x62, x63, x62, x62, x62) -> f7826_0_entry_LE(x64, x61, 1, x65, x66, x67, x68) :|: x69 < x63 && x63 > -1 && x66 < x62 && x60 > x61 && x62 > -1 && x69 > 0 && x66 > 0 && x60 - 1 > x61 && x64 = x60 - 1 37.72/13.08 37.72/13.08 Arcs: 37.72/13.08 (1) -> (2), (4) 37.72/13.08 (2) -> (2), (4) 37.72/13.08 (3) -> (2), (3), (4) 37.72/13.08 (4) -> (1), (2), (3), (4), (5) 37.72/13.08 (5) -> (2), (3), (4) 37.72/13.08 37.72/13.08 This digraph is fully evaluated! 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (123) 37.72/13.08 Obligation: 37.72/13.08 37.72/13.08 Termination digraph: 37.72/13.08 Nodes: 37.72/13.08 (1) f7826_0_entry_LE(i4511:0, i4306:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.next]o13346:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0, o13346[LinkedList$Entry.previous]o13344:0) -> f7826_0_entry_LE(arith, i4306:0, 1, 1, o13523[LinkedList$Entry.previous]o13520:0, o13672[LinkedList$Entry.previous]o13672:0, o13523[LinkedList$Entry.previous]o13523:0) :|: o13522[LinkedList$Entry.next]o13520:0 < o13346[LinkedList$Entry.next]o13346:0 && o13346[LinkedList$Entry.next]o13346:0 > -1 && o13523[LinkedList$Entry.previous]o13520:0 < o13346[LinkedList$Entry.previous]o13344:0 && i4511:0 > i4306:0 && o13346[LinkedList$Entry.previous]o13344:0 > -1 && o13523[LinkedList$Entry.previous]o13520:0 > 0 && i4511:0 - 1 > i4306:0 && arith = i4511:0 - 1 37.72/13.08 (2) f7826_0_entry_LE(x48, x49, x50, x51, x52, x53, x54) -> f7826_0_entry_LE(x55, x49, x56, x51, x57, x53, x58) :|: x52 > 0 && x50 > 0 && x54 > 0 && x51 > 0 && x57 < x52 && x53 > 0 && x56 > x50 && x59 < x54 && x48 > x49 && x58 > x59 && x59 > -1 && x48 - 1 > x49 && x55 = x48 - 1 37.72/13.08 (3) f7826_0_entry_LE(x33, x34, x35, x36, x35, x35, x35) -> f7826_0_entry_LE(x37, x34, 1, 1, 1, 1, 1) :|: x38 < x36 && x36 > -1 && x39 < x35 && x33 > x34 && x35 > -1 && x33 - 1 > x34 && x37 = x33 - 1 37.72/13.08 (4) f7826_0_entry_LE(x40, x41, x42, x43, x42, x42, x42) -> f7826_0_entry_LE(x44, x41, 1, x45, 1, 1, 1) :|: x46 < x43 && x43 > -1 && x47 < x42 && x40 > x41 && x42 > -1 && x46 > 0 && x40 - 1 > x41 && x44 = x40 - 1 37.72/13.08 (5) f7826_0_entry_LE(x60, x61, x62, x63, x62, x62, x62) -> f7826_0_entry_LE(x64, x61, 1, x65, x66, x67, x68) :|: x69 < x63 && x63 > -1 && x66 < x62 && x60 > x61 && x62 > -1 && x69 > 0 && x66 > 0 && x60 - 1 > x61 && x64 = x60 - 1 37.72/13.08 37.72/13.08 Arcs: 37.72/13.08 (1) -> (2), (3) 37.72/13.08 (2) -> (1), (2), (3), (4), (5) 37.72/13.08 (3) -> (2), (3) 37.72/13.08 (4) -> (2), (3), (4) 37.72/13.08 (5) -> (2), (3), (4) 37.72/13.08 37.72/13.08 This digraph is fully evaluated! 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (124) IntTRSCompressionProof (EQUIVALENT) 37.72/13.08 Compressed rules. 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (125) 37.72/13.08 Obligation: 37.72/13.08 Rules: 37.72/13.08 f7826_0_entry_LE(i4511:0:0, i4306:0:0, o13346[LinkedList$Entry.previous]o13344:0:0, o13346[LinkedList$Entry.next]o13346:0:0, o13346[LinkedList$Entry.previous]o13344:0:0, o13346[LinkedList$Entry.previous]o13344:0:0, o13346[LinkedList$Entry.previous]o13344:0:0) -> f7826_0_entry_LE(i4511:0:0 - 1, i4306:0:0, 1, 1, o13523[LinkedList$Entry.previous]o13520:0:0, o13672[LinkedList$Entry.previous]o13672:0:0, o13523[LinkedList$Entry.previous]o13523:0:0) :|: o13523[LinkedList$Entry.previous]o13520:0:0 > 0 && i4511:0:0 - 1 > i4306:0:0 && o13346[LinkedList$Entry.previous]o13344:0:0 > -1 && i4511:0:0 > i4306:0:0 && o13523[LinkedList$Entry.previous]o13520:0:0 < o13346[LinkedList$Entry.previous]o13344:0:0 && o13346[LinkedList$Entry.next]o13346:0:0 > -1 && o13522[LinkedList$Entry.next]o13520:0:0 < o13346[LinkedList$Entry.next]o13346:0:0 37.72/13.08 f7826_0_entry_LE(x40:0, x41:0, x42:0, x43:0, x42:0, x42:0, x42:0) -> f7826_0_entry_LE(x40:0 - 1, x41:0, 1, x45:0, 1, 1, 1) :|: x46:0 > 0 && x41:0 < x40:0 - 1 && x42:0 > -1 && x41:0 < x40:0 && x47:0 < x42:0 && x43:0 > -1 && x46:0 < x43:0 37.72/13.08 f7826_0_entry_LE(x33:0, x34:0, x35:0, x36:0, x35:0, x35:0, x35:0) -> f7826_0_entry_LE(x33:0 - 1, x34:0, 1, 1, 1, 1, 1) :|: x35:0 > -1 && x34:0 < x33:0 - 1 && x34:0 < x33:0 && x39:0 < x35:0 && x36:0 > -1 && x38:0 < x36:0 37.72/13.08 f7826_0_entry_LE(x48:0, x49:0, x50:0, x51:0, x52:0, x53:0, x54:0) -> f7826_0_entry_LE(x48:0 - 1, x49:0, x56:0, x51:0, x57:0, x53:0, x58:0) :|: x59:0 > -1 && x49:0 < x48:0 - 1 && x59:0 < x58:0 && x49:0 < x48:0 && x59:0 < x54:0 && x56:0 > x50:0 && x53:0 > 0 && x57:0 < x52:0 && x51:0 > 0 && x54:0 > 0 && x50:0 > 0 && x52:0 > 0 37.72/13.08 f7826_0_entry_LE(x60:0, x61:0, x62:0, x63:0, x62:0, x62:0, x62:0) -> f7826_0_entry_LE(x60:0 - 1, x61:0, 1, x65:0, x66:0, x67:0, x68:0) :|: x66:0 > 0 && x61:0 < x60:0 - 1 && x69:0 > 0 && x62:0 > -1 && x61:0 < x60:0 && x66:0 < x62:0 && x63:0 > -1 && x69:0 < x63:0 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (126) TempFilterProof (SOUND) 37.72/13.08 Used the following sort dictionary for filtering: 37.72/13.08 f7826_0_entry_LE(INTEGER, INTEGER, VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE) 37.72/13.08 Replaced non-predefined constructor symbols by 0. 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (127) 37.72/13.08 Obligation: 37.72/13.08 Rules: 37.72/13.08 f7826_0_entry_LE(i4511:0:0, i4306:0:0, o13346[LinkedList$Entry.previous]o13344:0:0, o13346[LinkedList$Entry.next]o13346:0:0, o13346[LinkedList$Entry.previous]o13344:0:0, o13346[LinkedList$Entry.previous]o13344:0:0, o13346[LinkedList$Entry.previous]o13344:0:0) -> f7826_0_entry_LE(c, i4306:0:0, c1, c2, o13523[LinkedList$Entry.previous]o13520:0:0, o13672[LinkedList$Entry.previous]o13672:0:0, o13523[LinkedList$Entry.previous]o13523:0:0) :|: c2 = 1 && (c1 = 1 && c = i4511:0:0 - 1) && (o13523[LinkedList$Entry.previous]o13520:0:0 > 0 && i4511:0:0 - 1 > i4306:0:0 && o13346[LinkedList$Entry.previous]o13344:0:0 > -1 && i4511:0:0 > i4306:0:0 && o13523[LinkedList$Entry.previous]o13520:0:0 < o13346[LinkedList$Entry.previous]o13344:0:0 && o13346[LinkedList$Entry.next]o13346:0:0 > -1 && o13522[LinkedList$Entry.next]o13520:0:0 < o13346[LinkedList$Entry.next]o13346:0:0) 37.72/13.08 f7826_0_entry_LE(x40:0, x41:0, x42:0, x43:0, x42:0, x42:0, x42:0) -> f7826_0_entry_LE(c3, x41:0, c4, x45:0, c5, c6, c7) :|: c7 = 1 && (c6 = 1 && (c5 = 1 && (c4 = 1 && c3 = x40:0 - 1))) && (x46:0 > 0 && x41:0 < x40:0 - 1 && x42:0 > -1 && x41:0 < x40:0 && x47:0 < x42:0 && x43:0 > -1 && x46:0 < x43:0) 37.72/13.08 f7826_0_entry_LE(x33:0, x34:0, x35:0, x36:0, x35:0, x35:0, x35:0) -> f7826_0_entry_LE(c8, x34:0, c9, c10, c11, c12, c13) :|: c13 = 1 && (c12 = 1 && (c11 = 1 && (c10 = 1 && (c9 = 1 && c8 = x33:0 - 1)))) && (x35:0 > -1 && x34:0 < x33:0 - 1 && x34:0 < x33:0 && x39:0 < x35:0 && x36:0 > -1 && x38:0 < x36:0) 37.72/13.08 f7826_0_entry_LE(x48:0, x49:0, x50:0, x51:0, x52:0, x53:0, x54:0) -> f7826_0_entry_LE(c14, x49:0, x56:0, x51:0, x57:0, x53:0, x58:0) :|: c14 = x48:0 - 1 && (x59:0 > -1 && x49:0 < x48:0 - 1 && x59:0 < x58:0 && x49:0 < x48:0 && x59:0 < x54:0 && x56:0 > x50:0 && x53:0 > 0 && x57:0 < x52:0 && x51:0 > 0 && x54:0 > 0 && x50:0 > 0 && x52:0 > 0) 37.72/13.08 f7826_0_entry_LE(x60:0, x61:0, x62:0, x63:0, x62:0, x62:0, x62:0) -> f7826_0_entry_LE(c15, x61:0, c16, x65:0, x66:0, x67:0, x68:0) :|: c16 = 1 && c15 = x60:0 - 1 && (x66:0 > 0 && x61:0 < x60:0 - 1 && x69:0 > 0 && x62:0 > -1 && x61:0 < x60:0 && x66:0 < x62:0 && x63:0 > -1 && x69:0 < x63:0) 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (128) RankingReductionPairProof (EQUIVALENT) 37.72/13.08 Interpretation: 37.72/13.08 [ f7826_0_entry_LE ] = f7826_0_entry_LE_1 + -1*f7826_0_entry_LE_2 37.72/13.08 37.72/13.08 The following rules are decreasing: 37.72/13.08 f7826_0_entry_LE(i4511:0:0, i4306:0:0, o13346[LinkedList$Entry.previous]o13344:0:0, o13346[LinkedList$Entry.next]o13346:0:0, o13346[LinkedList$Entry.previous]o13344:0:0, o13346[LinkedList$Entry.previous]o13344:0:0, o13346[LinkedList$Entry.previous]o13344:0:0) -> f7826_0_entry_LE(c, i4306:0:0, c1, c2, o13523[LinkedList$Entry.previous]o13520:0:0, o13672[LinkedList$Entry.previous]o13672:0:0, o13523[LinkedList$Entry.previous]o13523:0:0) :|: c2 = 1 && (c1 = 1 && c = i4511:0:0 - 1) && (o13523[LinkedList$Entry.previous]o13520:0:0 > 0 && i4511:0:0 - 1 > i4306:0:0 && o13346[LinkedList$Entry.previous]o13344:0:0 > -1 && i4511:0:0 > i4306:0:0 && o13523[LinkedList$Entry.previous]o13520:0:0 < o13346[LinkedList$Entry.previous]o13344:0:0 && o13346[LinkedList$Entry.next]o13346:0:0 > -1 && o13522[LinkedList$Entry.next]o13520:0:0 < o13346[LinkedList$Entry.next]o13346:0:0) 37.72/13.08 f7826_0_entry_LE(x40:0, x41:0, x42:0, x43:0, x42:0, x42:0, x42:0) -> f7826_0_entry_LE(c3, x41:0, c4, x45:0, c5, c6, c7) :|: c7 = 1 && (c6 = 1 && (c5 = 1 && (c4 = 1 && c3 = x40:0 - 1))) && (x46:0 > 0 && x41:0 < x40:0 - 1 && x42:0 > -1 && x41:0 < x40:0 && x47:0 < x42:0 && x43:0 > -1 && x46:0 < x43:0) 37.72/13.08 f7826_0_entry_LE(x33:0, x34:0, x35:0, x36:0, x35:0, x35:0, x35:0) -> f7826_0_entry_LE(c8, x34:0, c9, c10, c11, c12, c13) :|: c13 = 1 && (c12 = 1 && (c11 = 1 && (c10 = 1 && (c9 = 1 && c8 = x33:0 - 1)))) && (x35:0 > -1 && x34:0 < x33:0 - 1 && x34:0 < x33:0 && x39:0 < x35:0 && x36:0 > -1 && x38:0 < x36:0) 37.72/13.08 f7826_0_entry_LE(x48:0, x49:0, x50:0, x51:0, x52:0, x53:0, x54:0) -> f7826_0_entry_LE(c14, x49:0, x56:0, x51:0, x57:0, x53:0, x58:0) :|: c14 = x48:0 - 1 && (x59:0 > -1 && x49:0 < x48:0 - 1 && x59:0 < x58:0 && x49:0 < x48:0 && x59:0 < x54:0 && x56:0 > x50:0 && x53:0 > 0 && x57:0 < x52:0 && x51:0 > 0 && x54:0 > 0 && x50:0 > 0 && x52:0 > 0) 37.72/13.08 f7826_0_entry_LE(x60:0, x61:0, x62:0, x63:0, x62:0, x62:0, x62:0) -> f7826_0_entry_LE(c15, x61:0, c16, x65:0, x66:0, x67:0, x68:0) :|: c16 = 1 && c15 = x60:0 - 1 && (x66:0 > 0 && x61:0 < x60:0 - 1 && x69:0 > 0 && x62:0 > -1 && x61:0 < x60:0 && x66:0 < x62:0 && x63:0 > -1 && x69:0 < x63:0) 37.72/13.08 37.72/13.08 The following rules are bounded: 37.72/13.08 f7826_0_entry_LE(i4511:0:0, i4306:0:0, o13346[LinkedList$Entry.previous]o13344:0:0, o13346[LinkedList$Entry.next]o13346:0:0, o13346[LinkedList$Entry.previous]o13344:0:0, o13346[LinkedList$Entry.previous]o13344:0:0, o13346[LinkedList$Entry.previous]o13344:0:0) -> f7826_0_entry_LE(c, i4306:0:0, c1, c2, o13523[LinkedList$Entry.previous]o13520:0:0, o13672[LinkedList$Entry.previous]o13672:0:0, o13523[LinkedList$Entry.previous]o13523:0:0) :|: c2 = 1 && (c1 = 1 && c = i4511:0:0 - 1) && (o13523[LinkedList$Entry.previous]o13520:0:0 > 0 && i4511:0:0 - 1 > i4306:0:0 && o13346[LinkedList$Entry.previous]o13344:0:0 > -1 && i4511:0:0 > i4306:0:0 && o13523[LinkedList$Entry.previous]o13520:0:0 < o13346[LinkedList$Entry.previous]o13344:0:0 && o13346[LinkedList$Entry.next]o13346:0:0 > -1 && o13522[LinkedList$Entry.next]o13520:0:0 < o13346[LinkedList$Entry.next]o13346:0:0) 37.72/13.08 f7826_0_entry_LE(x40:0, x41:0, x42:0, x43:0, x42:0, x42:0, x42:0) -> f7826_0_entry_LE(c3, x41:0, c4, x45:0, c5, c6, c7) :|: c7 = 1 && (c6 = 1 && (c5 = 1 && (c4 = 1 && c3 = x40:0 - 1))) && (x46:0 > 0 && x41:0 < x40:0 - 1 && x42:0 > -1 && x41:0 < x40:0 && x47:0 < x42:0 && x43:0 > -1 && x46:0 < x43:0) 37.72/13.08 f7826_0_entry_LE(x33:0, x34:0, x35:0, x36:0, x35:0, x35:0, x35:0) -> f7826_0_entry_LE(c8, x34:0, c9, c10, c11, c12, c13) :|: c13 = 1 && (c12 = 1 && (c11 = 1 && (c10 = 1 && (c9 = 1 && c8 = x33:0 - 1)))) && (x35:0 > -1 && x34:0 < x33:0 - 1 && x34:0 < x33:0 && x39:0 < x35:0 && x36:0 > -1 && x38:0 < x36:0) 37.72/13.08 f7826_0_entry_LE(x48:0, x49:0, x50:0, x51:0, x52:0, x53:0, x54:0) -> f7826_0_entry_LE(c14, x49:0, x56:0, x51:0, x57:0, x53:0, x58:0) :|: c14 = x48:0 - 1 && (x59:0 > -1 && x49:0 < x48:0 - 1 && x59:0 < x58:0 && x49:0 < x48:0 && x59:0 < x54:0 && x56:0 > x50:0 && x53:0 > 0 && x57:0 < x52:0 && x51:0 > 0 && x54:0 > 0 && x50:0 > 0 && x52:0 > 0) 37.72/13.08 f7826_0_entry_LE(x60:0, x61:0, x62:0, x63:0, x62:0, x62:0, x62:0) -> f7826_0_entry_LE(c15, x61:0, c16, x65:0, x66:0, x67:0, x68:0) :|: c16 = 1 && c15 = x60:0 - 1 && (x66:0 > 0 && x61:0 < x60:0 - 1 && x69:0 > 0 && x62:0 > -1 && x61:0 < x60:0 && x66:0 < x62:0 && x63:0 > -1 && x69:0 < x63:0) 37.72/13.08 37.72/13.08 37.72/13.08 ---------------------------------------- 37.72/13.08 37.72/13.08 (129) 37.72/13.08 YES 37.83/13.17 EOF