code: public ClassDoc[] innerClasses(boolean filter) {
          ListBuffer<ClassDocImpl> innerClasses = new ListBuffer<ClassDocImpl>();
          for (Scope.Entry e = tsym.members().elems; e != null; e = e.sibling) {
              if (e.sym != null && e.sym.kind == Kinds.TYP) {
                  ClassSymbol s = (ClassSymbol)e.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.