The JVM specification states "A class member that does not appear in the source code must be marked using a Synthetic attribute." It may appear in the ClassFile attribute table, a field_info table or a method_info table. This class is intended to be instantiated from the Attribute.readAttribute() method.
Note that not all VMs support synthetic attributes.
"JavaRanch, where the deer and the Certified play" - David O'Meara