private JsonType buildType(DeclaredType declaredType, TypeElement element) { if (_typeRecursionGuard.contains(declaredType)) { return new JsonRecursiveObject(element.getSimpleName().toString()); } JsonObject json = new JsonObject(); buildTypeContents(json, element); return json; // we've already added to the cache; short-circuit to handle recursion }