Source:
<code>public void processGroups(CustomTxtInputLine input, Matcher matcher) { if (input.getColumns()== null) { return; } <START> for (int i = 0; i < input.getColumns().size(); i++) { <END> InputData column = input.getColumns().get(i); if (i < matcher.groupCount() && matcher.group(i + 1) != null) { String value = matcher.group(i + 1).trim(); if (value.length() == 0) { continue; } String name = column.name; if (column.action == CustomTraceDefinition.ACTION_SET) { fData.put(name, value); if (name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) { fData.put(TIMESTAMP_INPUT_FORMAT_KEY, column.format); } } else if (column.action == CustomTraceDefinition.ACTION_APPEND) { String s = fData.get(name); if (s != null) { fData.put(name, s + value); } else { fData.put(name, value); } if (name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) { String timeStampInputFormat = fData.get(TIMESTAMP_INPUT_FORMAT_KEY); if (timeStampInputFormat != null) { fData.put(TIMESTAMP_INPUT_FORMAT_KEY, timeStampInputFormat + column.format); } else { fData.put(TIMESTAMP_INPUT_FORMAT_KEY, column.format); } } } else if (column.action == CustomTraceDefinition.ACTION_APPEND_WITH_SEPARATOR) { String s = fData.get(name); if (s != null) { fData.put(name, s + " | " + value); } else { fData.put(name, value); } if (name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) { String timeStampInputFormat = fData.get(TIMESTAMP_INPUT_FORMAT_KEY); if (timeStampInputFormat != null) { fData.put(TIMESTAMP_INPUT_FORMAT_KEY, timeStampInputFormat + " | " + column.format); } else { fData.put(TIMESTAMP_INPUT_FORMAT_KEY, column.format); } } } } } }</code><technical_language>store input.getColumns() in a temp variable line below</technical_language>

Target:
public void processGroups(CustomTxtInputLine input, Matcher matcher) { if (input.getColumns()== null) { return; } for (int i = 0; i < input.getColumns().size(); i++) { CustomTxtDataColumn column = input.getColumns().get(i); if (i < matcher.groupCount() && matcher.group(i + 1) != null) { String value = matcher.group(i + 1).trim(); if (value.length() == 0) { continue; } String name = column.getName(); if (column.getAction() == CustomTraceDefinition.ACTION_SET) { fData.put(name, value); if (name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) { fData.put(TIMESTAMP_INPUT_FORMAT_KEY, column.getFormat()); } } else if (column.getAction() == CustomTraceDefinition.ACTION_APPEND) { String s = fData.get(name); if (s != null) { fData.put(name, s + value); } else { fData.put(name, value); } if (name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) { String timeStampInputFormat = fData.get(TIMESTAMP_INPUT_FORMAT_KEY); if (timeStampInputFormat != null) { fData.put(TIMESTAMP_INPUT_FORMAT_KEY, timeStampInputFormat + column.getFormat()); } else { fData.put(TIMESTAMP_INPUT_FORMAT_KEY, column.getFormat()); } } } else if (column.getAction() == CustomTraceDefinition.ACTION_APPEND_WITH_SEPARATOR) { String s = fData.get(name); if (s != null) { fData.put(name, s + " | " + value); } else { fData.put(name, value); } if (name.equals(CustomTraceDefinition.TAG_TIMESTAMP)) { String timeStampInputFormat = fData.get(TIMESTAMP_INPUT_FORMAT_KEY); if (timeStampInputFormat != null) { fData.put(TIMESTAMP_INPUT_FORMAT_KEY, timeStampInputFormat + " | " + column.getFormat()); } else { fData.put(TIMESTAMP_INPUT_FORMAT_KEY, column.getFormat()); } } } } } }