File tree 1 file changed +7
-3
lines changed
engine/src/main/java/org/hibernate/validator/internal/engine/path
1 file changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -195,7 +195,7 @@ private NodeImpl addMethodNode(String name, Class<?>[] parameterTypes) {
195
195
}
196
196
197
197
public NodeImpl makeLeafNodeIterable () {
198
- requiresWriteableNodeList ();
198
+ copyNodeList ();
199
199
200
200
currentLeafNode = NodeImpl .makeIterable ( currentLeafNode );
201
201
@@ -205,7 +205,7 @@ public NodeImpl makeLeafNodeIterable() {
205
205
}
206
206
207
207
public NodeImpl makeLeafNodeIterableAndSetIndex (Integer index ) {
208
- requiresWriteableNodeList ();
208
+ copyNodeList ();
209
209
210
210
currentLeafNode = NodeImpl .makeIterableAndSetIndex ( currentLeafNode , index );
211
211
@@ -215,7 +215,7 @@ public NodeImpl makeLeafNodeIterableAndSetIndex(Integer index) {
215
215
}
216
216
217
217
public NodeImpl makeLeafNodeIterableAndSetMapKey (Object key ) {
218
- requiresWriteableNodeList ();
218
+ copyNodeList ();
219
219
220
220
currentLeafNode = NodeImpl .makeIterableAndSetMapKey ( currentLeafNode , key );
221
221
@@ -300,6 +300,10 @@ private void requiresWriteableNodeList() {
300
300
return ;
301
301
}
302
302
303
+ copyNodeList ();
304
+ }
305
+
306
+ private void copyNodeList () {
303
307
// Usually, the write operation is about adding one more node, so let's make the list one element larger.
304
308
List <Node > newNodeList = new ArrayList <>( nodeList .size () + 1 );
305
309
newNodeList .addAll ( nodeList );
You can’t perform that action at this time.
0 commit comments