public List<VariableAppearance> getVariableAppearances(
			FileObfuscationStructure structure, boolean firstScan) {
		List<VariableAppearance> result = new ArrayList<VariableAppearance>();
		for (IStringAnalyser analyzer : stringAnalysers) {
			if (firstScan || (analyzer.isTwoScansAnalyzer())) {
				if (analyzer.isOutOfContextAnalysis()) {
					String content = structure.getFileContent(); 
					ParsingContext entireFileContext =
						new ParsingContext(ParsingContextType.EntireFile, 0, content.length(), content);

					if (firstScan) {
						result.addAll(analyzer.getAppearances(entireFileContext));						
					} else {
						result.addAll(analyzer.getAltAppearances(entireFileContext));												
					}
				} else {
					for (ParsingContext context : structure.getFileContexts()) {
						if (analyzer.supportParsingContext(context)) {
							if (firstScan) {
								result.addAll(analyzer.getAppearances(context));						
							} else {
								result.addAll(analyzer.getAltAppearances(context));												
							}			
						}
					}
				}			
			}
		}
		return result;
	}