String sourceBase = i.next();
SourceRepository repos = i.next();
	public SourceFile findSourceFile(String packageName, String fileName) throws IOException {		// Create a fully qualified source filename using the package name.		StringBuffer fullName = new StringBuffer();		if (!packageName.equals("")) {			fullName.append(packageName.replace('.', File.separatorChar));			fullName.append(File.separatorChar);		}		fullName.append(fileName);		fileName = fullName.toString();		// Is the file in the cache already?		SourceFile sourceFile = cache.get(fileName);		if (sourceFile == null) {			 // Find this source file, add its data to the cache			 if (DEBUG) System.out.println("Trying "  + fileName + "...");			// Query each element of the source path to find the requested source file			Iterator<String> i = sourceBaseList.iterator();					while (i.hasNext()) {				String sourceBase = i.next();				// Try to read the file from current source base element				String fullFileName = sourceBase + File.separator + fileName;				if (DEBUG) System.out.println("Trying " + fullFileName + "...");				File file = new File(fullFileName);				if (file.exists()) {					// Found it					sourceFile = new SourceFile(new FileSourceFileDataSource(fullFileName));					cache.put(fileName, sourceFile);					break;				}			}			// Couldn't find the source file.			if (sourceFile == null)				throw new FileNotFoundException("Can't find source file " + fileName);		}		return sourceFile;	}