public static int test14(String s2) {
        switch (s2.hashCode()) {
        case 1:
            return 1;
        case 2:
            return 2;
        case 3:
        case 99: // forces this to also be a lookup table, like the strings
            // tag
            if (s2.equalsIgnoreCase("Foo6")) {
                return 5;
            }
        }

        // tag
        if (s2.equals("Foo7")) {
            return 3;
        }
        System.out.println(s2);
        return 4;

    }
public static int test14 ( String s2 ) { switch ( s2 . hashCode ( ) ) { case 1 : return 1 ; case 2 : return 2 ; case 3 : case 99 : if ( s2 . equalsIgnoreCase ( "Foo6" ) ) { return 5 ; } } if ( s2 . equals ( "Foo7" ) ) { return 3 ; } System . out . println ( s2 ) ; return 4 ; }
/*
Tried really hard to get a false negative, by manipulating this switch to
look like a string switch. Couldn't make it happen.