public class EclipseLinkJavaBasicMappingDefinition2_2 extends JavaAttributeMappingDefinitionWrapper
    implements DefaultJavaAttributeMappingDefinition {
  private static final DefaultJavaAttributeMappingDefinition DELEGATE =
      EclipseLinkJavaBasicMappingDefinition2_0.instance();

  // singleton
  private static final DefaultJavaAttributeMappingDefinition INSTANCE =
      new EclipseLinkJavaBasicMappingDefinition2_2();

  /** Return the singleton. */
  public static DefaultJavaAttributeMappingDefinition instance() {
    return INSTANCE;
  }

  /** Enforce singleton usage */
  private EclipseLinkJavaBasicMappingDefinition2_2() {
    super();
  }

  @Override
  protected JavaAttributeMappingDefinition getDelegate() {
    return DELEGATE;
  }

  @Override
  public Iterable<String> getSupportingAnnotationNames() {
    return COMBINED_SUPPORTING_ANNOTATION_NAMES;
  }

  private static final String[] ECLIPSE_LINK2_2_SUPPORTING_ANNOTATION_NAMES_ARRAY =
      new String[] {
        EclipseLink.CONVERTERS,
        EclipseLink.OBJECT_TYPE_CONVERTERS,
        EclipseLink.STRUCT_CONVERTERS,
        EclipseLink.TYPE_CONVERTERS,
      };
  public static final Iterable<String> ECLIPSE_LINK2_2_SUPPORTING_ANNOTATION_NAMES =
      IterableTools.iterable(ECLIPSE_LINK2_2_SUPPORTING_ANNOTATION_NAMES_ARRAY);

  @SuppressWarnings("unchecked")
  private static final Iterable<String> COMBINED_SUPPORTING_ANNOTATION_NAMES =
      IterableTools.concatenate(
          DELEGATE.getSupportingAnnotationNames(), ECLIPSE_LINK2_2_SUPPORTING_ANNOTATION_NAMES);

  public boolean isDefault(JavaSpecifiedPersistentAttribute persistentAttribute) {
    return DELEGATE.isDefault(persistentAttribute);
  }
}
 public boolean isDefault(JavaSpecifiedPersistentAttribute persistentAttribute) {
   return DELEGATE.isDefault(persistentAttribute);
 }