code: public ClassDoc[] innerClasses(boolean filter) {
          ListBuffer<ClassDocImpl> innerClasses = new ListBuffer<>();
          for (Symbol sym : tsym.members().getSymbols(NON_RECURSIVE)) {
              if (sym != null && sym.kind == TYP) {
                  ClassSymbol s = (ClassSymbol)sym;
                  if ((s.flags_field & Flags.SYNTHETIC) != 0) continue;
                  if (!filter || env.isVisible(s)) {
                      innerClasses.prepend(env.getClassDoc(s));
                  }
              }
          }
          //### Cache classes here?
          return innerClasses.toArray(new ClassDocImpl[innerClasses.length()]);
      }
docs: Return inner classes within this class.
  
  @param filter include only the included inner classes if filter==true.
  @return an array of ClassDocImpl for representing the visible
  classes defined in this class. Anonymous and local classes
  are not included.