import java.util.HashSet;
import java.util.Set;


public class InfiniteLoopFalsePositive {
	
	private int f() {
		if (this instanceof InnerClass) 
			return ((InnerClass)this).f();
		return 17;
	}
	static class InnerClass extends InfiniteLoopFalsePositive {
		@Override
		public int x() {
			return 42;
		}
		public int f() {
			return 42;
		}
	}
	int z(Object o) {
		o = (Object) o;
		return ((int[]) o).length;
	}
	public int x() {
		int y = ((HashSet)(Set)new HashSet()).size();
		return ((InnerClass)this).x();
	}

}

@@ -190,16 +190,119 @@
  17;%0A%09%7D%0A
+%09public int g() %7B%0A%09%09if (this instanceof InnerClass) %0A%09%09%09return ((InnerClass)this).g();%0A%09%09return 17;%0A%09%7D%0A
 %09static 
@@ -440,16 +440,53 @@
 42;%0A%09%09%7D%0A
+%09%09public int g() %7B%0A%09%09%09return 42;%0A%09%09%7D%0A
 %09%7D%0A%09int 

add another false positve test case