Details
- 
        Type:
 Bug
            
         - 
        Status:
 Open
            
                     - 
            Priority:
 Major
                
             - 
            Resolution: Unresolved
 - 
            Affects Version/s: 1.3
 - 
            Fix Version/s: None
 - 
            Component/s: PicoContainer (Java)
 - 
            Labels:None
 
- 
                        Number of attachments :
 
Description
I had a set of components I was running the VerifyingVisitor on and was getting the exception:
org.picocontainer.PicoVerificationException: [org.picocontainer.defaults.AmbiguousComponentResolutionException: null has ambiguous dependency on interface java.util.Map, resolves to multiple classes: [class com.genfw.command.wrappers.impl.DefaultAttributeMap, class com.genfw.command.servlet.impl.DefaultEnteredValues]]
at org.picocontainer.defaults.VerifyingVisitor.traverse(VerifyingVisitor.java:56)
at com.genfw.command.servlet.impl.NoWebServerServiceLocatorFactoryTestCase.testGetLocator(NoWebServerServiceLocatorFactoryTestCase.java:28)
The problem I have is that the original component key causing the problem wasn't being included in the stack trace.  Putting a break point at VerifyingVisitor 76:
            try 
catch (RuntimeException e)
{ nestedVerificationExceptions.add(e); }and grabbing a componentAdapter.toString() in my debugger nabbed the real culprint:
[CachingCA delegate=org.picocontainer.defaults.ConstructorInjectionComponentAdapter[interface com.genfw.command.wrappers.ParameterSource]]
I believe the suspect is probably the AmbiguousComponentResolutionException's getMessage() since the key printed in the stack trace is null  but it could be in the code throwing the AmbiguousComponentResolutionException.