code: public static INode search(List<INode> nodes, int offSet,
  			IVdmSourceUnit source)
  	{
  		synchronized (seacher)
  		{
  			if (DEBUG_PRINT)
  			{
  				System.out.println("Search start");
  			}
  			seacher.init();
  			seacher.offSet = offSet;
  			seacher.sourceFile = source.getSystemFile();
  			try
  			{
  				for (INode node : nodes)
  				{
  					node.apply(seacher);
  				}
  			} catch (AnalysisException e)
  			{
  				// We found what we are looking for
  			}
  
  			return seacher.bestHit != null ? seacher.bestHit
  					: seacher.bestAlternativeHit;
  		}
  
  	}
docs: Search method to find the closest node to a location specified by a test offset
  
  @param nodes
  The nodes to search within
  @param offSet
  The offset to match a node to
  @return The node closest to the offset or null