code: public static void parseMissingFiles(IVdmProject vdmProject,
  			IVdmModel model, IProgressMonitor monitor) throws CoreException,
  			IOException
  	{
  
  		IProject project = (IProject) vdmProject.getAdapter(IProject.class);
  
  		if (monitor != null)
  		{
  			monitor.subTask("Parsing files for project: " + project.getName());
  		}
  
  		Assert.isNotNull(project, "Project could not be adapted");
  		if (project != null)
  		{
  			if (!project.isSynchronized(IResource.DEPTH_INFINITE))
  			{
  				project.refreshLocal(IResource.DEPTH_INFINITE, null);
  			}
  			List<IVdmSourceUnit> files = model.getSourceUnits();
  			for (IVdmSourceUnit source : files)
  			{
  				// IVdmModel model = file.getProject().getModel();
  				// if (model != null && model.hasFile(file) && file.)
  				// return;
  				// if(!file.hasParseTree())
  				// file.getParseList().clear();
  //				System.out.println("Parsing file (build): "+ source);
  				parseFile(source);
  			}
  		}
  	}
docs: *
  Parses files in a project which has a content type and should be parsed
  before a build could be performed
  
  @param vdmProject
  the project
  @param model
  the model with ast
  @param monitor
  an optional monitor, can be null
  @throws CoreException
  @throws IOException