…lines 1–110 unchanged (110 lines)
111 public List getValues(final Option option,
112 List defaultValues) {
113 // initialize the return list
114 List valueList = (List) values.get(option);
115
116 // grab the correct default values
117 if (defaultValues == null || defaultValues.isEmpty()) {
118 defaultValues = (List) this.defaultValues.get(option);
119 }
120
121 // augment the list with the default values
122 if (defaultValues != null && !defaultValues.isEmpty()) {
123 if (valueList == null || valueList.isEmpty()) {
124 valueList = defaultValues;
125 } else {
126 // if there are more default values as specified, add them to
127 // the list.
128 if (defaultValues.size() > valueList.size()) {
129 // copy the list first
130 valueList = new ArrayList(valueList);
131 for (int i=valueList.size(); i<defaultValues.size(); i++) {
132 valueList.add(defaultValues.get(i));
133 }
134 }
135 }
136 }
137
138 return valueList == null ? Collections.EMPTY_LIST : valueList;
139 }
140
141 public List getUndefaultedValues(Option option) {
142 // First grab the command line values
…lines 143–275 unchanged (133 lines)