private void scanHeader () throws IOException {
        source.readInt(); // header length

        latitude = source.readDouble();
        longitude = source.readDouble();
        source.skip(8); // zeroes
        source.skip(4+4); // unknown long values
        splashId = source.readShort();
        iconId = source.readShort();
        type = source.readString();
        member = source.readString();
        source.skip(4+4); // unknown long values
        name = source.readString();
        source.readString(); // GUID
        description = source.readString();
        startdesc = source.readString();
        version = source.readString();
        author = source.readString();
        url = source.readString();
        device = source.readString();
        source.skip(4); // unknown long value
        code = source.readString();

        // assert source.position() ==
    }
Read the specified file and return a corresponding CartridgeFile object.

@param source file representing the cartridge
@param savefile save file corresponding to this cartridge
@return a CartridgeFile object corresponding to source
@throws IOException
main/src/main/java/cgeo/geocaching/wherigo/openwig/formats/CartridgeFile.java