title: Original interface is lost in Spring AOP introduction
body: <p>Here is my Spring AOP configuration.</p>
  
  <pre><code>&lt;bean id="myObject" class="com.madzone.learn.spring.aop.OriginalClass"&gt;&lt;/bean&gt;
  &lt;bean id="aspect" class="com.madzone.learn.spring.aop.AspectClass"&gt;&lt;/bean&gt;
  &lt;aop:config&gt;
      &lt;aop:aspect ref="aspect"&gt;
          &lt;aop:declare-parents
              types-matching="com.madzone.learn.spring.aop.OriginalClass+"
              implement-interface="com.madzone.learn.spring.aop.IntroducedInterface"
              default-impl="com.madzone.learn.spring.aop.IntroducedInterfaceImpl" /&gt;
      &lt;/aop:aspect&gt;
  </code></pre>
  
  <h2>    </h2>
  
  <pre><code>ApplicationContext context = new ClassPathXmlApplicationContext("myApp.xml");
  Object myObject = context.getBean("myObject");
  if (myObject instanceof OriginalClass) {
      System.out.println("This is OriginalClass");
  }
  if(myObject instanceof IntroducedInterface) {
      System.out.println("This is IntroducedInterface");
  }
  </code></pre>
  
  <p>With this introduction I was able to call the methods in the <em>IntroducedInterface</em>. But, I was not able to access the OriginalClass' methods. In the code snippet above, I never got the 'This is OriginalClass' printed out.</p>
  
  <p>From the definition of 'Introduction' I understood that the proxy that implements the new interface will extend from OriginalClass and make its' methods accessible too.</p>
  
  <p>Am I missing something here? Can someone explain the reasons, if any?</p>
  
  <p>PS:
    The following is a picture from Spring in Action (3rd Edition) that depicts this.
  <img src="https://i.stack.imgur.com/5OOF4.png" alt="Can the caller access both the interfaces &#39;Existing method&#39; and &#39;Introduced method&#39;?"></p>