Groovy Estranho acesso ao campo privado de pais / filhos com fechamento

No Groovy, tenho uma classe pai e uma classe filho em que o construtor da classe pai tenta definir o valor de um campo da classe pai usando um fechamento, como no código a seguir:

try {
  def x = new ChildClass()
} catch (ex) {
  ex.printStackTrace(System.err)
}

class ParentClass {
  private values = []

  ParentClass(columnCount) {
    columnCount.times { values.add('') }
  }
}

class ChildClass extends ParentClass {
  ChildClass() {
    super(20)
  }
}

No entanto, quando executo esse código, recebo uma groovy.lang.MissingPropertyException com a mensagem "Nenhuma propriedade: valores para a classe: ChildClass". No entanto, se eu alterar o construtor da classe pai para não usar o encerramento com o método times como neste exemplo:

try {
  def x = new ChildClass()
} catch (ex) {
  ex.printStackTrace(System.err)
}

class ParentClass {
  private values = []

  ParentClass(columnCount) {
    def i
    for (i = 0; i < columnCount; i++) {
      values.add('')
    }
  }
}

class ChildClass extends ParentClass {
  ChildClass() {
    super(20)
  }
}

Funciona. Alguém pode me explicar esse comportamento? Não entendo por que o Groovy acha que o campo de valores é uma propriedade da classe filho. Estou usando a versão Groovy "Groovy Version: 1.6.3 JVM: 1.5.0_18".

questionAnswers(2)

yourAnswerToTheQuestion