private boolean requiresFullyQualifiedName ( ) { String currentPackage = PackageScope . get ( ) ; if ( currentPackage != null ) { if ( definition != null && definition . getPackageName ( ) != null && definition . getFullyQualifiedName ( ) != null ) { String conflictingFQCN = getDefinition ( ) . getFullyQualifiedName ( ) . replace ( definition . getPackageName ( ) , currentPackage ) ; if ( ! conflictingFQCN . equals ( getFullyQualifiedName ( ) ) && DefinitionRepository . getRepository ( ) . getDefinition ( conflictingFQCN ) != null ) { return true ; } } } Map < String , String > referenceMap = DefinitionRepository . getRepository ( ) . getReferenceMap ( ) ; if ( referenceMap != null && referenceMap . containsKey ( definition . getName ( ) ) ) { String fqn = referenceMap . get ( definition . getName ( ) ) ; if ( ! getDefinition ( ) . getFullyQualifiedName ( ) . equals ( fqn ) ) { return true ; } } return false ; }
Checks if the ref needs to be done by fully qualified name . Why? Because an other reference to a class with the same name but different package has been made already .