   (let [id (.getId variableDeclarator)]
     (when (= nameToSolve (.getName id))
       id)))
-
-;(extend-protocol scope
-;  VariableDeclarationExpr
-;  (solveSymbol [this context nameToSolve]
-;    (first (filter (partial solveAmongVariableDeclarator nameToSolve) (.getVars this)))))
 
 (defn- solveAmongFieldDeclaration
   "Consider one single com.github.javaparser.ast.body.FieldDeclaration, which corresponds to possibly multiple fields"

          decls (map (partial declare-symbol? nameToSolve) elementsToConsider)]
      (or (first decls) (solveSymbol (.getParentNode this) this nameToSolve)))))

;(extend-protocol scope
;  ExpressionStmt
;  (solveSymbol [this context nameToSolve]
;    (let [fromExpr (solveSymbol (.getExpression this) this nameToSolve)]
;      (or fromExpr (solveSymbol (.getParentNode this) this nameToSolve)))))

(defn solveClassInPackage [pakage nameToSolve]
  {:pre [typeSolver]}
  ; TODO first look into the package

(defn declare-symbol? [symbol-name symbols-declarator]
  (get (declared-symbols symbols-declarator) symbol-name))

(extend-protocol scope
  com.github.javaparser.ast.Node
  (solveSymbol [this context nameToSolve]
