Bug 16879 Double click after { does not always select the right block of code.
Past the following code in a java text editor public void foo() { String aString = "AAAAAAAAAAAAAAAAA"; String s1[] = new String[]{aString}; String s2[] = new String[]{"aaaa"}; Object o1[] = new Object[][]{{aString},{aString}}; } 1) Doubleclick after { in the line "String s1[]". It will select the code between { and }. Good. 2) Now doubleclick after the first { in the line "String s2[]". It will select aaaa without including the ". It should select everything between { and }. 3) Now doubleclick after the first { in the line "Object o1[]". It will select the contents of the second { instead of the first one.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/JavaPairMatcher.java
return fReader.getOffset();
				
			c= fReader.read();
		}
		
		return  -1;
	}
	
	protected int searchForOpeningPeer(int offset, int openingPeer, int closingPeer, IDocument document) throws IOException {
		
		fReader.configureBackwardReader(document, offset, true, true);
		
		int stack= 1;
		int c= fReader.read();
		while (c != JavaCodeReader.EOF) {
			if (c == closingPeer && c != openingPeer)
				stack++;
			else if (c == openingPeer)
				stack--;
				
			if (stack == 0)
				return fReader.getOffset();
				
			c= fReader.read();
		}
		
		return -1;
	}
}