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