code: public SymbolReference<? extends ResolvedValueDeclaration> solveSymbolInType(ResolvedTypeDeclaration typeDeclaration, String name) {
          if (typeDeclaration instanceof JavaParserClassDeclaration) {
              Context ctx = ((JavaParserClassDeclaration) typeDeclaration).getContext();
              return ctx.solveSymbol(name, typeSolver);
          }
          if (typeDeclaration instanceof JavaParserInterfaceDeclaration) {
              Context ctx = ((JavaParserInterfaceDeclaration) typeDeclaration).getContext();
              return ctx.solveSymbol(name, typeSolver);
          }
          if (typeDeclaration instanceof JavaParserEnumDeclaration) {
              Context ctx = ((JavaParserEnumDeclaration) typeDeclaration).getContext();
              return ctx.solveSymbol(name, typeSolver);
          }
          if (typeDeclaration instanceof ReflectionClassDeclaration) {
              return ((ReflectionClassDeclaration) typeDeclaration).solveSymbol(name, typeSolver);
          }
          if (typeDeclaration instanceof ReflectionInterfaceDeclaration) {
              return ((ReflectionInterfaceDeclaration) typeDeclaration).solveSymbol(name, typeSolver);
          }
          if (typeDeclaration instanceof JavassistClassDeclaration) {
              return ((JavassistClassDeclaration) typeDeclaration).solveSymbol(name, typeSolver);
          }
          if (typeDeclaration instanceof JavassistEnumDeclaration) {
              return ((JavassistEnumDeclaration) typeDeclaration).solveSymbol(name, typeSolver);
          }
          if (typeDeclaration instanceof JavassistInterfaceDeclaration) {
              return ((JavassistInterfaceDeclaration) typeDeclaration).solveSymbol(name, typeSolver);
          }
          return SymbolReference.unsolved(ResolvedValueDeclaration.class);
      }
docs: Solve any possible visible symbols including: fields, internal types, type variables, the type itself or its
  containers.
  <p>
  It should contain its own private fields but not inherited private fields.