Java forever! 12 keys to Java's enduring dominance