private void manageVariable(final String variableName) {
final Wini.Section paramSection = fileInfos.get(variableName);
String referenceVariableName = MethodUtils.normalizeString(leftBrace, rightBrace, paramSection.get("SelectNextRow")).substring(
"Same line as ".length());
Variable refVar = variables.get(referenceVariableName);
if (refVar == null || !(refVar instanceof FileVariable)) {
logger.error("The reference parameter \"" + referenceVariableName
+ "\" does not exist or is not of the correct type for the parameter \"" + variableName);
} else {
FileVariable refVarFile = (FileVariable) refVar;
nLVarValueFromLRVarName.put(MethodUtils.normalizeString(leftBrace, rightBrace, paramSection.get("ParamName")),
refVarFile.getName() + "." + MethodUtils.normalizeString(leftBrace, rightBrace, paramSection.get("ColumnName")));
FileVariable newVariable = ImmutableFileVariable.copyOf(refVarFile);
if (!(refVarFile.getFileName().isPresent() && refVarFile.getFileName().get().equals(
"Local".equals(MethodUtils.normalizeString(leftBrace, rightBrace, paramSection.get(ParametersReaderUtils.TABLE_LOCATION)))
? folder + File.separator + MethodUtils.normalizeString(leftBrace, rightBrace, paramSection.get(ParametersReaderUtils.TABLE))
: MethodUtils.normalizeString(leftBrace, rightBrace, paramSection.get(ParametersReaderUtils.TABLE_LOCATION)) + File.separator
+ MethodUtils.normalizeString(leftBrace, rightBrace, paramSection.get(ParametersReaderUtils.TABLE))))) {
newVariable = ParametersReaderUtils.handleDataForFileVariable(leftBrace, rightBrace, paramSection, refVarFile, folder);
reader.removeDataFilesToCopyIf(dataFile -> dataFile.getAbsolutePath().equals(refVarFile.getFileName().orElse("")));
}
newVariable = ParametersReaderUtils.handleVariableColumns(leftBrace, rightBrace, paramSection, newVariable);
variables.put(referenceVariableName, newVariable);
}
}