public class SatDynamicTest03 {
	
	public int exceptionTest() {
		int result = withExceptionMethod(0);
		result += withExceptionMethod(5);
		return result;
	}

	private void foo() {
	}
	
	private int withExceptionMethod(int i) {
		int b=0;
		try {
			int a[] = new int[2];
			b=a[i];
			foo();			
		} catch (ArrayIndexOutOfBoundsException e) {
			b = 20;				
		} finally {
			b+=2;			
		}
		return b;
	}

	int fuckoff(Object o) {
		if (o instanceof String) return 1;

		boolean x = (o instanceof Long);
		if (x) return 2;

		return 3;
	}

	public static void main(String args[]) {
		SatDynamicTest03 x = new SatDynamicTest03();
		assert (x.exceptionTest() == 2 + 22);
	}	
}
