Author: Anthony Sands (javadoc)