title: Castle Windsor resolve named instance and unnamed instance incorrect
body: <p>I have following testing code trying to get one instance for generic and other for special purpose.</p>
  
  <pre><code>[TestMethod]
  public void Test_Name_And_Named_Instances()
  {
  //MyClass implemented IMyClass
  MyClass genericInstance = new MyClass("generic");
  MyClass specialInstance = new MyClass("special");
  
  IWindsorContainer container = new WindsorContainer();
  container.Register(Component.For(IMyClass).Instance(genericInstance));
  container.Register(Component.For(IMyClass).Instance(specialInstance).Named("special"));
  
  IMyClass genericOne = container.Resolve&lt;IMyClass&gt;();
  IMyClass specialOne = container.Resolve&lt;IMyClass&gt;("special");
  
  Assert.AreSame(genericOne, genericInstance); //true
  Assert.AreNotSame(genericOne, specialOne); //false
  }
  </code></pre>
  
  <p>I expect to get two different instances, but the result is both genericOne and specialOne points to same objec genericInstance.</p>
  
  <p>Any idea?</p>