Is Java's parallel programming support sufficient to meet 'the Multicore Challenge'?