class Utf8AppleDataBox extends AppleDataBox {
    String value;

    protected Utf8AppleDataBox(String type) {
        super(type, 1);
    }

    public String getValue() {<FILL_FUNCTION_BODY>}

    public void setValue(String value) {
        this.value = value;
    }

    @DoNotParseDetail
    public byte[] writeData() {
        return Utf8.convert(value);
    }

    @Override
    protected int getDataLength() {
        return value.getBytes(Charset.forName("UTF-8")).length;
    }

    @Override
    protected void parseData(ByteBuffer data) {
        value = IsoTypeReader.readString(data, data.remaining());
    }
}

        //patched by Toias Bley / UltraMixer
        if (!isParsed()) {
            parseDetails();
        }
        return value;
    
<methods>public int getDataCountry() ,public int getDataLanguage() ,public int getDataType() ,public java.lang.String getLanguageString() ,public void setDataCountry(int) ,public void setDataLanguage(int) <variables>int dataCountry,int dataLanguage,int dataType,private static HashMap<java.lang.String,java.lang.String> language