title: groovy protected property can't be overriden in subclass
body: <p>subclass call parent protected method which expect return a protected override property.
  but return the parent's property.</p>
  
  <p>//ParentClass:</p>
  
  <pre><code>package tz
  
  import java.util.List;
  
  class AbstractController {
      protected List keywordFilter = []
      protected String methodKey(){
          return "\t[method]parent,$keywordFilter,"+keywordFilter.toString()
      }
      def closureKey(){
          return "\t[closure]parent,$keywordFilter,"+keywordFilter.toString()
      }
  }
  </code></pre>
  
  <p>//SubClass:</p>
  
  <pre><code>package tz
  
  import java.util.List;
  
  class SubController extends AbstractController{
      protected List keywordFilter = ['a']
      public SubController(){
      }
  
      public void test(){
          println "subCall:"+methodKey()+closureKey()
      }
      def test2 = {
          println "c,$keywordFilter,"+methodKey()+closureKey()
      }
  
      public static void main(String[] args) {
          def s = new SubController()
          s.test()
          s.test2()
      }
  }
  </code></pre>
  
  <p>//Output:</p>
  
  <pre><code>subCall:[method]parent,[],[]    [closure]parent,[],[]
  c,[a],  [method]parent,[],[]    [closure]parent,[],[]
  </code></pre>