Buggy code:
public interface X3ML { public enum SourceType { xpath , constant , position ; } @ XStreamAlias ( "x3ml" ) public static class RootElement extends X3ML . Visible { @ XStreamAsAttribute public String version ; @ XStreamAsAttribute @ XStreamAlias ( "source_type" ) public X3ML . SourceType sourceType ; @ XStreamAsAttribute public String language ; @ XStreamOmitField public String info ; public List < X3ML . MappingNamespace > namespaces ; public List < X3ML . Mapping > mappings ; public void apply ( Root context ) { } @ XStreamOmitField public String comments ; } @ XStreamAlias ( "mapping" ) public static class Mapping extends X3ML . Visible { public X3ML . DomainElement domain ; @ XStreamImplicit public List < X3ML . LinkElement > links ; public void apply ( Root context ) { } } @ XStreamAlias ( "link" ) public static class LinkElement extends X3ML . Visible { public X3ML . PathElement path ; public X3ML . RangeElement range ; public void apply ( Domain domain ) { String pathSource = this . path . source_relation . expression ; int equals = pathSource . indexOf ( "==" ) ; if ( equals >= 0 ) { String domainForeignKey = pathSource . substring ( 0 , equals ) . trim ( ) ; String rangePrimaryKey = pathSource . substring ( ( equals + 2 ) ) . trim ( ) ; for ( Link link : domain . createLinkContexts ( this , domainForeignKey , rangePrimaryKey ) ) { <START_BUG> link . link ( ) ; <END_BUG> } } else { for ( Path path : domain . createPathContexts ( this . path ) ) { for ( Range range : path . createRangeContexts ( this . range ) ) { range . link ( ) ; } } } } } @ XStreamAlias ( "namespace" ) public static class MappingNamespace extends X3ML . Visible { @ XStreamAsAttribute public String prefix ; @ XStreamAsAttribute public String uri ; } @ XStreamConverter ( value = ToAttributedValueConverter . class , strings = { "expression" } ) public static class Source extends X3ML . Visible { public String expression ; } @ XStreamAlias ( "domain" ) public static class DomainElement extends X3ML . Visible { public X3ML . Source source_node ; public X3ML . TargetNode target_node ; public X3ML . Comments comments ; } @ XStreamAlias ( "target_relation" ) @ XStreamConverter ( X3ML . TargetRelationConverter . class ) public static class TargetRelation extends X3ML . Visible { public X3ML . Condition condition ; public List < X3ML . Relationship > properties ; public List < X3ML . EntityElement > entities ; } public static class TargetRelationConverter implements Converter { @ Override public boolean canConvert ( Class type ) { } @ Override public void marshal ( Object source , HierarchicalStreamWriter writer , MarshallingContext context ) { } @ Override public Object unmarshal ( HierarchicalStreamReader reader , UnmarshallingContext context ) { } } @ XStreamAlias ( "target_node" ) public static class TargetNode extends X3ML . Visible { @ XStreamAlias ( "if" ) public X3ML . Condition condition ; @ XStreamAlias ( "entity" ) public X3ML . EntityElement entityElement ; } @ XStreamAlias ( "path" ) public static class PathElement extends X3ML . Visible { public X3ML . Source source_relation ; public X3ML . TargetRelation target_relation ; public X3ML . Comments comments ; } @ XStreamAlias ( "range" ) public static class RangeElement extends X3ML . Visible { public X3ML . Source source_node ; public X3ML . TargetNode target_node ; public X3ML . Comments comments ; } @ XStreamAlias ( "additional" ) public static class Additional extends X3ML . Visible { @ XStreamAlias ( "property" ) public X3ML . Relationship relationship ; @ XStreamAlias ( "entity" ) public X3ML . EntityElement entityElement ; } @ XStreamAlias ( "if" ) public static class Condition extends X3ML . Visible { public X3ML . Narrower narrower ; public X3ML . Exists exists ; public X3ML . Equals equals ; public X3ML . AndCondition and ; public X3ML . OrCondition or ; public X3ML . NotCondition not ; private static class Outcome { final GeneratorContext context ; boolean failure ; private Outcome ( GeneratorContext context ) { } X3ML . Condition . Outcome evaluate ( X3ML . YesOrNo yesOrNo ) { } } public boolean failure ( GeneratorContext context ) { } } interface YesOrNo { boolean yes ( GeneratorContext context ) { } } @ XStreamConverter ( value = ToAttributedValueConverter . class , strings = { "expression" } ) @ XStreamAlias ( "exists" ) public static class Exists extends X3ML . Visible implements X3ML . YesOrNo { public String expression ; @ Override public boolean yes ( GeneratorContext context ) { } } @ XStreamConverter ( value = ToAttributedValueConverter . class , strings = { "expression" } ) @ XStreamAlias ( "equals" ) public static class Equals extends X3ML . Visible implements X3ML . YesOrNo { @ XStreamAsAttribute public String value ; public String expression ; @ Override public boolean yes ( GeneratorContext context ) { } } @ XStreamConverter ( value = ToAttributedValueConverter . class , strings = { "expression" } ) @ XStreamAlias ( "narrower" ) public static class Narrower extends X3ML . Visible implements X3ML . YesOrNo { @ XStreamAsAttribute public String value ; public String expression ; @ Override public boolean yes ( GeneratorContext context ) { } } @ XStreamAlias ( "and" ) public static class AndCondition extends X3ML . Visible implements X3ML . YesOrNo { @ XStreamImplicit List < X3ML . Condition > list ; @ Override public boolean yes ( GeneratorContext context ) { } } @ XStreamAlias ( "or" ) public static class OrCondition extends X3ML . Visible implements X3ML . YesOrNo { @ XStreamImplicit List < X3ML . Condition > list ; @ Override public boolean yes ( GeneratorContext context ) { } }

Fix:
link . range . link ( ) ;