http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-135099.html#15411