docs: private void resolveOuterNestedClassFurther(ClassNode node) {
          CompileUnit compileUnit = currentClass.getCompileUnit();
  
          if (null == compileUnit) return;
  
          Map<String, ConstructedOuterNestedClassNode> classesToResolve = compileUnit.getClassesToResolve();
          List<String> resolvedInnerClassNameList = new LinkedList<>();
  
          for (Map.Entry<String, ConstructedOuterNestedClassNode> entry : classesToResolve.entrySet()) {
              String innerClassName = entry.getKey();
              ConstructedOuterNestedClassNode constructedOuterNestedClass = entry.getValue();
  
              // When the outer class is resolved, all inner classes are resolved too
              if (node.getName().equals(constructedOuterNestedClass.getEnclosingClassNode().getName())) {
                  ClassNode innerClassNode = compileUnit.getClass(innerClassName); // find the resolved inner class
  
                  if (null == innerClassNode) {
                      return; // "unable to resolve class" error can be thrown already, no need to `addError`, so just return
                  }
  
                  constructedOuterNestedClass.setRedirect(innerClassNode);
                  resolvedInnerClassNameList.add(innerClassName);
              }
          }
  
          for (String innerClassName : resolvedInnerClassNameList) {
              classesToResolve.remove(innerClassName);
          }
      }