Source:
<code>public ColumnGroupReader( StreamReader[] streamReaders, Set<Integer> presentColumns, int[] channelColumns, List<Type> types, int[] internalChannels, int[] outputChannels, Map<Integer, Filter> filters, FilterFunction[] filterFunctions, boolean enforceMemoryBudget, Block[] constantBlocks) { this.reorderFilters = true; this.enforceMemoryBudget = enforceMemoryBudget; this.outputChannels = requireNonNull(outputChannels, "outputChannels is null"); <START> this.constantBlocks = constantBlocks; <END> channelToStreamReader = new HashMap(); for (int i = 0; i < channelColumns.length; i++) { int columnIndex = channelColumns[i]; if (presentColumns != null && !presentColumns.contains(columnIndex)) { continue; } int internalChannel = i < internalChannels.length ? internalChannels[i] : -1; Filter filter = filters.get(columnIndex); if (internalChannel == -1 && filter == null) { if (streamReaders[columnIndex] != null) { throw new IllegalArgumentException("There should be no StreamReader if there is no filter and the value of the column is unreferenced"); } continue; } StreamReader streamReader = streamReaders[columnIndex]; streamReader.setFilterAndChannel(filter, internalChannel, columnIndex, types.get(i)); if (internalChannel != -1) { channelToStreamReader.put(internalChannel, streamReader); } } this.filterFunctions = requireNonNull(filterFunctions, "filterFunctions is null"); for (int i = 0; i < outputChannels.length; i++) { maxOutputChannel = Math.max(maxOutputChannel, outputChannels[i]); } setupStreamOrder(streamReaders); }</code><technical_language>requireNonNull: this.constantBlocks = requireNonNull(constantBlocks, "constantBlocks is null");</technical_language>

Target:
public ColumnGroupReader( StreamReader[] streamReaders, Set<Integer> presentColumns, int[] channelColumns, List<Type> types, int[] internalChannels, int[] outputChannels, Map<Integer, Filter> filters, FilterFunction[] filterFunctions, boolean enforceMemoryBudget, Block[] constantBlocks) { this.reorderFilters = true; this.enforceMemoryBudget = enforceMemoryBudget; this.outputChannels = requireNonNull(outputChannels, "outputChannels is null"); this.constantBlocks = requireNonNull(constantBlocks, "constantBlocks is null"); channelToStreamReader = new HashMap(); for (int i = 0; i < channelColumns.length; i++) { int columnIndex = channelColumns[i]; if (presentColumns != null && !presentColumns.contains(columnIndex)) { continue; } int internalChannel = i < internalChannels.length ? internalChannels[i] : -1; Filter filter = filters.get(columnIndex); if (internalChannel == -1 && filter == null) { if (streamReaders[columnIndex] != null) { throw new IllegalArgumentException("There should be no StreamReader if there is no filter and the value of the column is unreferenced"); } continue; } StreamReader streamReader = streamReaders[columnIndex]; streamReader.setFilterAndChannel(filter, internalChannel, columnIndex, types.get(i)); if (internalChannel != -1) { channelToStreamReader.put(internalChannel, streamReader); } } this.filterFunctions = requireNonNull(filterFunctions, "filterFunctions is null"); for (int i = 0; i < outputChannels.length; i++) { maxOutputChannel = Math.max(maxOutputChannel, outputChannels[i]); } setupStreamOrder(streamReaders); }