Buggy code:
private static boolean simplifyContractives ( Automaton automaton ) { } private static boolean simplify ( int index , Automaton automaton ) { } private static boolean simplifyNegation ( int index , Automaton . State state , Automaton automaton ) { } private static boolean simplifyCompound ( int index , Automaton . State state , Automaton automaton ) { } private static boolean simplifyUnion ( int index , Automaton . State state , Automaton automaton ) { } private static boolean simplifyUnion_1 ( int index , Automaton . State state , Automaton automaton ) { } private static boolean simplifyUnion_2 ( int index , Automaton . State state , Automaton automaton ) { } private static boolean isSubtype ( int fromIndex , int toIndex , Automaton automaton ) { } private static final class IntersectionPoint { public final int fromIndex ; public final boolean fromSign ; public final int toIndex ; public final boolean toSign ; public IntersectionPoint ( int fromIndex , boolean fromSign , int toIndex , boolean toSign ) { } public boolean equals ( Object o ) { } public int hashCode ( ) { } } public static Type intersect ( Type t1 , Type t2 ) { } private static Automaton intersect ( boolean fromSign , Automaton from , boolean toSign , Automaton to ) { } private static int intersect ( int fromIndex , boolean fromSign , Automaton from , int toIndex , boolean toSign , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { } private static int intersectDifferentKind ( int fromIndex , boolean fromSign , Automaton from , int toIndex , boolean toSign , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { } private static int intersectSameKind ( int fromIndex , boolean fromSign , Automaton from , int toIndex , boolean toSign , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { } private static int intersectVoid ( int fromIndex , boolean fromSign , Automaton from , int toIndex , boolean toSign , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { } private static int intersectPrimitives ( int fromIndex , boolean fromSign , Automaton from , int toIndex , boolean toSign , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { } private static int intersectNegations ( int fromIndex , boolean fromSign , Automaton from , int toIndex , boolean toSign , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { } private static int intersectNominals ( int fromIndex , boolean fromSign , Automaton from , int toIndex , boolean toSign , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { } private static int intersectTuples ( int fromIndex , boolean fromSign , Automaton from , int toIndex , boolean toSign , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { } private static int intersectUnions ( int fromIndex , boolean fromSign , Automaton from , int toIndex , boolean toSign , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { } private static int intersectUnionsPosNeg ( int fromIndex , boolean fromSign , Automaton from , int toIndex , boolean toSign , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { } private static int intersectUnionsNegNeg ( int fromIndex , Automaton from , int toIndex , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { } private static int intersectSetsOrLists ( int fromIndex , boolean fromSign , Automaton from , int toIndex , boolean toSign , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { <START_BUG> int myIndex = TypeAlgorithms . intersectCompoundsPosPos ( fromIndex , from , toIndex , to , allocations , states ) ; <END_BUG> Automaton . State fromState = from . states [ fromIndex ] ; Automaton . State toState = to . states [ toIndex ] ; boolean fromNonEmpty = ( ( Boolean ) ( fromState . data ) ) ; boolean toNonEmpty = ( ( Boolean ) ( toState . data ) ) ; if ( ! fromSign ) { fromNonEmpty = ! fromNonEmpty ; } if ( ! toSign ) { toNonEmpty = ! toNonEmpty ; } states . get ( myIndex ) . data = fromNonEmpty | toNonEmpty ; return myIndex ; } private static int intersectCompounds ( int fromIndex , boolean fromSign , Automaton from , int toIndex , boolean toSign , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { } private static int intersectCompoundsPosPos ( int fromIndex , Automaton from , int toIndex , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { } private static int intersectCompoundsPosNeg ( int fromIndex , Automaton from , int toIndex , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { } private static int intersectCompoundsNegNeg ( int fromIndex , Automaton from , int toIndex , Automaton to , HashMap < TypeAlgorithms . IntersectionPoint , Integer > allocations , ArrayList < Automaton . State > states ) { }

Fix:
int myIndex = TypeAlgorithms . intersectCompounds ( fromIndex , fromSign , from , toIndex , toSign , to , allocations , states ) ;