In a nutshell, all those mysterious looking classes prefixed with "NS" (don't ask) are Apple's own proprietary and incompatible incarnations of what lesser mortals know as "java.lang" and "java.util":