@Override
    public void visit(ClassOrInterfaceDeclaration declaration, A ctx) {
      List<TypeParameter> typeParams = declaration.getTypeParameters();
      SymbolType thisType = symbol.getType();

      load(table, typeParams, thisType);

      if (!declaration.isInterface()) {
        List<ClassOrInterfaceType> extendsList = declaration.getExtends();
        if (extendsList != null && !extendsList.isEmpty()) {
          processSuperGenerics(table, symbol, extendsList.get(0));
        }
      }
    }