Source: https://docs.oracle.com/cd/E91253_01/PDF/8.0.5.0.0/dog_8.0.5_1ed.pdf