public Routable deserialize(String filename, int classId, Language lang) {
        Version version = version();
        String path = getPath(version + "-" + (lang == Language.JAVA ? "java" : "cpp") + "-" + filename + ".dat");
        System.out.println("Deserializing from '" + path + "'..");
        byte[] data;
        try {
            data = TestFileUtil.readFile(path);
        } catch (IOException e) {
            throw new AssertionError(e);
        }
        Routable ret = protocol.decode(version, data);
        assertNotNull(ret);
        assertEquals(classId, ret.getType());
        return ret;
    }
Reads the content of the given file and creates a corresponding routable.

@param filename The name of the file to read from.
@param classId  The type that the routable must decode as.
@param lang     The language constant that dictates what file format to read from.
@return The decoded routable.
documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/MessagesTestBase.java