I tried to add an additional substitue mapping however it throws an exception:
=> Thus the addSubstitute() method is useless
The reason is that for instantiating the mapping only a skeleton list from "Arrays.asList()" is used. This list doesn't support many methods of List interface and throws the exception.
Replace the " Arrays.asList()" with the real list like new ArrayList() or the like.