text: Given:
  class MyService {
  def thing
  def something() { }
  def anotherSomething() { assert true }
  }
  We see:
  MyService.getDeclaredFields().grep { it.synthetic }
  ==>
  [public static final java.lang.Class MyService.$ownClass, private static java.lang.Class MyService.$class$java$lang$Class,
  private static java.lang.Class MyService.$class$groovy$lang$MetaClass,
  private static java.lang.Class MyService.$class$MyService, private static java.lang.ref.SoftReference MyService.$callSiteArray]
  MyService.getDeclaredFields().grep { !it.synthetic }
  ==>
  [private java.lang.Object MyService.thing, private static org.codehaus.groovy.reflection.ClassInfo MyService.$staticClassInfo,
  private transient groovy.lang.MetaClass MyService.metaClass, public static java.lang.Long MyService.__timeStamp,
  public static java.lang.Long MyService.__timeStamp__239_neverHappen1227930452630]
  The only non-synthetic field should be MyService.thing, the rest are synthetic.
  Problem now though is that the build is broken for retro, even with your workaround attempt. I tried all kinds of things trying to make it work, but I suspect a bug somewhere.
  The Member.isSynthetic method is JDK 1.5, which your change to testing for the bit would resolve.
  The problem is that we get this error for ...getDeclaredMethods().grep { ...}:
  I tried all kinds of changes to the code (using findAll, converting to List, not using assertScript...) and always get that "<not implemented yet..." error.
  I did most of adding a vm5 for the test case, but then it would become the only vm5 UberTestCaseBugs. I think there is some sort of compiler bug or something like that rather than an issue with the test case itself.
  That "<not implemented yet..." is not the error, it is part of the error message, that would have to write out how the closure looks like. You can save the value of the left side in a variable and then compare the results, but the assert will still fail, because the synthetic flag is not accessible. As a result the grep/findAll will return too many entries. In other words: with only reflection this can't work on Java4.
  I am very sure there is no compiler bug with this test
  Test case disabled when JDK < 1.5.