part of jdk1.7.0_51 & openjdk7u40 source code, added some own annotations