...
xpp3 intentionally leaks from core
Maven core provides internally uses Xpp3Dom objects to plugins, created by Modello's code generated from pom's model for configuration DOM fields: see ConfigurationContainer.getConfiguration().
This internal representation leaks later in Maven public API: http://maven.apache.org/ref/3.0.4/maven-core/apidocs/org/apache/maven/project/MavenProject.html#getGoalConfiguration(java.lang.String, java.lang.String, java.lang.String, java.lang.String) for example.
Then it has to let Xpp3Dom leak for plugins to be able to cast these Objects to Xpp3Domuse this API: http://maven.apache.org/ref/3.0.4/maven-core/xref/org/apache/maven/classrealm/DefaultClassRealmManager.html#196
...