class ASTSignatureComparator implements SignatureComparator {

  public boolean searchForEntity(SourceCodeChange change, Node astRoot) {

    SourceCodeEntity parentEntity = change.getParentEntity();

    String _entityUniqueName = change.getChangedEntity().getUniqueName();
    String nodeValue = astRoot.getValue().toString();
    if (nodeValue.equals(_entityUniqueName)) {
      return true;
    }

    boolean found = false;
    // Breadth First Search
    for (int i = 0; (found == false) && (i < astRoot.getChildCount()); i++) {
      Node node = (Node) astRoot.getChildAt(i);
      /*if(_entityUniqueName.equals(node.getValue().toString()))
      return true;*/
      // else
      String nodeLbl = node.getValue().toString();
      found = searchForEntity(_entityUniqueName, node);
      if (found) break;
    }

    return found;
  }

  public  ASTSignatureComparator();
  public  ASTSignatureComparator(double stringSimilarity);

}