visitedInterfaces.add(clazz);
if (!clazz.isInterface()) {
throw new JsonProtocolModelParseException(
"Parser root type must be an interface: " + clazz);
}
JsonParserRoot jsonParserRoot = clazz.getAnnotation(JsonParserRoot.class);
if (jsonParserRoot == null) {
throw new JsonProtocolModelParseException(
JsonParserRoot.class.getCanonicalName() + " annotation is expected in " + clazz);
}
for (Method m : clazz.getMethods()) {