class StringSerializer extends SerializableSerializer {
    @Override
    public Object deserialize(byte[] bytes) throws ZkMarshallingError {<FILL_FUNCTION_BODY>}

    @Override
    public byte[] serialize(Object obj) throws ZkMarshallingError {
        try {
            return obj.toString().getBytes("UTF-8");
        } catch (UnsupportedEncodingException e) {
            throw new ZkMarshallingError(e);
        }
    }
}

        if (bytes == null){
            return null;
        }
        try {
            if (bytes.length > 1 && ByteUtil.bytes2short(bytes, 0) == ObjectStreamConstants.STREAM_MAGIC) {
                return super.deserialize(bytes);
            }
            return new String(bytes, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            throw new ZkMarshallingError(e);
        }
    
<no_super_class>