//renaming to kk, j
package p;
class A{
	private void m(){
		/*[*/final int kk= 0;/*]*/
		int j= 0;
		new Object(){
			int kk;
			void fred(){
				kk= 0;
			}
		};
	}
}