Линия:
parentDir.blech()
успешно выполняется после добавления blech () в File, как вы говорите. Но если это так, то почему бы не позвонить выше этого:
thisDir.blech()
работать (не выбрасывать исключение, которое он выбрасывает), поскольку это еще один экземпляр класса File, а blech () уже добавлен в File? Либо оба вызова должны потерпеть неудачу с MissingMethodException, либо оба должны работать. Глупо, что один работает, а другой нет.