code: private boolean notOverriddenIn(Type site, Symbol sym) {
          if (sym.kind != MTH || sym.isConstructor() || sym.isStatic())
              return true;
          else {
              Symbol s2 = ((MethodSymbol)sym).implementation(site.tsym, types, true);
              return (s2 == null || s2 == sym || sym.owner == s2.owner ||
                      !types.isSubSignature(types.memberType(site, s2), types.memberType(site, sym)));
          }
      }
docs: /* `sym' is accessible only if not overridden by
  another symbol which is a member of `site'
  (because, if it is overridden, `sym' is not strictly
  speaking a member of `site'). A polymorphic signature method
  cannot be overridden (e.g. MH.invokeExact(Object[])).