See - 3.1.12 - 3.1.12.1 - 3.1.12.2 - 4.0.0 - 4.0.4 - 4.1.4 - 4.2.0 - 4.2.2 - 4.2.3 - 4.5.2.0 - 4.5.3.0 - 4.7.0.0 - 4.7.1.0 - 4.7.1.1 - 4.7.2.0