/**
   * @return An Iterator of GpbCompositeTypeREFs without attempting lazy resolution (if it's turned
   *     on).
   */
  @SuppressWarnings("unchecked")
  // org.dmd.dms.util.GenUtility.formatMV(GenUtility.java:990)
  public Iterator<GpbCompositeTypeREF> getMainElementsREFs() {
    DmcTypeGpbCompositeTypeREFMV attr =
        (DmcTypeGpbCompositeTypeREFMV) get(DmdgpbDMSAG.__mainElements);
    if (attr == null) return (((List<GpbCompositeTypeREF>) Collections.EMPTY_LIST).iterator());

    return (attr.getMV());
  }
  /** @return An Iterator of GpbCompositeTypeDMO objects. */
  @SuppressWarnings("unchecked")
  // org.dmd.dms.util.GenUtility.formatMV(GenUtility.java:970)
  public Iterator<GpbCompositeTypeREF> getMainElements() {
    DmcTypeGpbCompositeTypeREFMV attr =
        (DmcTypeGpbCompositeTypeREFMV) get(DmdgpbDMSAG.__mainElements);
    if (attr == null) return (((List<GpbCompositeTypeREF>) Collections.EMPTY_LIST).iterator());

    if (DmcOmni.instance().lazyResolution()) {
      if (attr.doLazyResolution(this)) {
        rem(attr.getAttributeInfo());
        return (((List<GpbCompositeTypeREF>) Collections.EMPTY_LIST).iterator());
      }
    }

    return (attr.getMV());
  }