code: Symbol findIdentInPackage(Env<AttrContext> env, TypeSymbol pck,
                                Name name, int kind) {
          Name fullname = TypeSymbol.formFullName(name, pck);
          Symbol bestSoFar = typeNotFound;
          PackageSymbol pack = null;
          if ((kind & PCK) != 0) {
              pack = reader.enterPackage(fullname);
              if (pack.exists()) return pack;
          }
          if ((kind & TYP) != 0) {
              Symbol sym = loadClass(env, fullname);
              if (sym.exists()) {
                  // don't allow programs to use flatnames
                  if (name == sym.name) return sym;
              }
              else if (sym.kind < bestSoFar.kind) bestSoFar = sym;
          }
          return (pack != null) ? pack : bestSoFar;
      }
docs: Find an identifier in a package which matches a specified kind set.
  @param env       The current environment.
  @param name      The identifier's name.
  @param kind      Indicates the possible symbol kinds
  (a nonempty subset of TYP, PCK).