class AppleGPSCoordinatesBox extends AbstractBox {
    public static final String TYPE = "©xyz";
    private static final int DEFAULT_LANG = 5575; //Empirical

    String coords;
    int lang = DEFAULT_LANG; //? Docs says lang, but it doesn't match anything in the traditional language map

    public AppleGPSCoordinatesBox() {
        super(TYPE);
    }

    public String getValue() {
        return coords;
    }

    public void setValue(String iso6709String) {
        lang = DEFAULT_LANG;
        coords = iso6709String;
    }

    @Override
    protected long getContentSize() {
        return 4 + Utf8.utf8StringLengthInBytes(coords);
    }

    @Override
    protected void getContent(ByteBuffer byteBuffer) {
        byteBuffer.putShort((short) coords.length());
        byteBuffer.putShort((short) lang);
        byteBuffer.put(Utf8.convert(coords));
    }

    @Override
    protected void _parseDetails(ByteBuffer content) {<FILL_FUNCTION_BODY>}

    public String toString() {
        return "AppleGPSCoordinatesBox[" + coords + "]";
    }

}

        int length = content.getShort();
        lang = content.getShort(); //Not sure if this is accurate. It always seems to be 15 c7
        byte bytes[] = new byte[length];
        content.get(bytes);
        coords = Utf8.convert(bytes);
    
<methods>public void getBox(java.nio.channels.WritableByteChannel) throws java.io.IOException,public long getSize() ,public java.lang.String getType() ,public byte[] getUserType() ,public boolean isParsed() ,public void parse(java.nio.channels.ReadableByteChannel, java.nio.ByteBuffer, long, org.mp4parser.BoxParser) throws java.io.IOException,public final synchronized void parseDetails() <variables>private static org.slf4j.Logger LOG,protected java.nio.ByteBuffer content,private java.nio.ByteBuffer deadBytes,boolean isParsed,protected java.lang.String type,private byte[] userType