A Java Port of libiMobileDevice