code: public IFile findIFile(File file)
  	{
  		IPath location = Path.fromOSString(file.getAbsolutePath());
  		IFile ifile = project.getFile(location);
  
  		if (ifile == null || !ifile.exists())
  		{
  
  			IPath absolutePath = new Path(file.getAbsolutePath());
  			// check if the project contains a IFile which maps to the same
  			// file system location
  			try
  			{
  				for (IVdmSourceUnit f : getSpecFiles())
  				{
  					if (f.getFile().getLocation().equals(absolutePath))
  						return f.getFile();
  				}
  			} catch (CoreException e1)
  			{
  			}
  
  			// project does not contain this file, this means that the file has
  			// been include elsewhere and a link will be created to the file
  			// instead.
  			try
  			{
  				linkFileToProject(file);
  			} catch (CoreException e)
  			{
  			}
  
  		}
  		return ifile;
  	}
docs: *
  Gets the IFile from the Eclipse filesystem from a normal file placed in a project
  
  @param project
  the project which holds the file
  @param file
  the File to look up
  @return a new IFile representing the file in the eclipse filesystem