ObjectFactory.java

//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference
// Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.12.31 at 10:32:54 AM CET
//

package nl.b3p.topnl.top50nl;

import java.util.List;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;

/**
 * This object contains factory methods for each Java content interface and Java element interface
 * generated in the nl.b3p.topnl.top50nl package.
 *
 * <p>An ObjectFactory allows you to programatically construct new instances of the Java
 * representation for XML content. The Java representation of XML content can consist of schema
 * derived interfaces and classes representing the binding of schema type definitions, element
 * declarations and model groups. Factory methods for each of these are provided in this class.
 */
@XmlRegistry
public class ObjectFactory {

  private static final QName _GeografischGebied_QNAME =
      new QName(
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
          "GeografischGebied");
  private static final QName _LijnOfPunt_QNAME =
      new QName(
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1", "LijnOfPunt");
  private static final QName _AbstractSurface_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "AbstractSurface");
  private static final QName _AbstractFeature_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "AbstractFeature");
  private static final QName _Relief_QNAME =
      new QName("http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1", "Relief");
  private static final QName _Top50NlObject_QNAME =
      new QName(
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1", "_Top50nlObject");
  private static final QName _Coordinates_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "coordinates");
  private static final QName _NEN3610ID_QNAME =
      new QName("http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1", "NEN3610ID");
  private static final QName _Point_QNAME = new QName("http://www.opengis.net/gml/3.2", "Point");
  private static final QName _Hoogte_QNAME =
      new QName("http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1", "Hoogte");
  private static final QName _Wegdeel_QNAME =
      new QName("http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1", "Wegdeel");
  private static final QName _BoundedBy_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "boundedBy");
  private static final QName _Identifier_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "identifier");
  private static final QName _LocationString_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "LocationString");
  private static final QName _LocationKeyWord_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "LocationKeyWord");
  private static final QName _VlakOfPunt_QNAME =
      new QName(
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1", "VlakOfPunt");
  private static final QName _AbstractGeometricAggregate_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "AbstractGeometricAggregate");
  private static final QName _Gebouw_QNAME =
      new QName("http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1", "Gebouw");
  private static final QName _Inrichtingselement_QNAME =
      new QName(
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
          "Inrichtingselement");
  private static final QName _Name_QNAME = new QName("http://www.opengis.net/gml/3.2", "name");
  private static final QName _Location_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "location");
  private static final QName _AbstractCurve_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "AbstractCurve");
  private static final QName _FunctioneelGebied_QNAME =
      new QName(
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
          "FunctioneelGebied");
  private static final QName _AbstractObject_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "AbstractObject");
  private static final QName _FeatureCollectionTop50_QNAME =
      new QName(
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
          "FeatureCollectionTop50");
  private static final QName _Envelope_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "Envelope");
  private static final QName _AbstractGML_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "AbstractGML");
  private static final QName _Terrein_QNAME =
      new QName("http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1", "Terrein");
  private static final QName _Description_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "description");
  private static final QName _DescriptionReference_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "descriptionReference");
  private static final QName _VlakMultivlakOfPunt_QNAME =
      new QName(
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
          "VlakMultivlakOfPunt");
  private static final QName _VlakOfLijn_QNAME =
      new QName(
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1", "VlakOfLijn");
  private static final QName _SurfaceMembers_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "surfaceMembers");
  private static final QName _RegistratiefGebied_QNAME =
      new QName(
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
          "RegistratiefGebied");
  private static final QName _FeatureMember_QNAME =
      new QName(
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1", "FeatureMember");
  private static final QName _MultiSurface_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "MultiSurface");
  private static final QName _VlakOfMultivlak_QNAME =
      new QName(
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1", "VlakOfMultivlak");
  private static final QName _AbstractGeometricPrimitive_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "AbstractGeometricPrimitive");
  private static final QName _SurfaceMember_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "surfaceMember");
  private static final QName _AbstractGeometry_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "AbstractGeometry");
  private static final QName _Null_QNAME = new QName("http://www.opengis.net/gml/3.2", "Null");
  private static final QName _MetaDataProperty_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "metaDataProperty");
  private static final QName _Waterdeel_QNAME =
      new QName("http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1", "Waterdeel");
  private static final QName _Spoorbaandeel_QNAME =
      new QName(
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1", "Spoorbaandeel");
  private static final QName _AbstractMetaData_QNAME =
      new QName("http://www.opengis.net/gml/3.2", "AbstractMetaData");
  private static final QName _Pos_QNAME = new QName("http://www.opengis.net/gml/3.2", "pos");

  /**
   * Create a new ObjectFactory that can be used to create new instances of schema derived classes
   * for package: nl.b3p.topnl.top50nl
   */
  public ObjectFactory() {}

  /** Create an instance of {@link FunctioneelGebiedType } */
  public FunctioneelGebiedType createFunctioneelGebiedType() {
    return new FunctioneelGebiedType();
  }

  /** Create an instance of {@link FeatureCollectionTop50Type } */
  public FeatureCollectionTop50Type createFeatureCollectionTop50Type() {
    return new FeatureCollectionTop50Type();
  }

  /** Create an instance of {@link GebouwType } */
  public GebouwType createGebouwType() {
    return new GebouwType();
  }

  /** Create an instance of {@link SpoorbaandeelType } */
  public SpoorbaandeelType createSpoorbaandeelType() {
    return new SpoorbaandeelType();
  }

  /** Create an instance of {@link WaterdeelType } */
  public WaterdeelType createWaterdeelType() {
    return new WaterdeelType();
  }

  /** Create an instance of {@link VlakOfPuntType } */
  public VlakOfPuntType createVlakOfPuntType() {
    return new VlakOfPuntType();
  }

  /** Create an instance of {@link InrichtingselementType } */
  public InrichtingselementType createInrichtingselementType() {
    return new InrichtingselementType();
  }

  /** Create an instance of {@link VlakOfMultivlakType } */
  public VlakOfMultivlakType createVlakOfMultivlakType() {
    return new VlakOfMultivlakType();
  }

  /** Create an instance of {@link FeatureMemberType } */
  public FeatureMemberType createFeatureMemberType() {
    return new FeatureMemberType();
  }

  /** Create an instance of {@link WegdeelType } */
  public WegdeelType createWegdeelType() {
    return new WegdeelType();
  }

  /** Create an instance of {@link LijnOfPuntType } */
  public LijnOfPuntType createLijnOfPuntType() {
    return new LijnOfPuntType();
  }

  /** Create an instance of {@link TerreinType } */
  public TerreinType createTerreinType() {
    return new TerreinType();
  }

  /** Create an instance of {@link GeografischGebiedType } */
  public GeografischGebiedType createGeografischGebiedType() {
    return new GeografischGebiedType();
  }

  /** Create an instance of {@link NEN3610IDType } */
  public NEN3610IDType createNEN3610IDType() {
    return new NEN3610IDType();
  }

  /** Create an instance of {@link HoogteType } */
  public HoogteType createHoogteType() {
    return new HoogteType();
  }

  /** Create an instance of {@link RegistratiefGebiedType } */
  public RegistratiefGebiedType createRegistratiefGebiedType() {
    return new RegistratiefGebiedType();
  }

  /** Create an instance of {@link ReliefType } */
  public ReliefType createReliefType() {
    return new ReliefType();
  }

  /** Create an instance of {@link VlakMultivlakOfPuntType } */
  public VlakMultivlakOfPuntType createVlakMultivlakOfPuntType() {
    return new VlakMultivlakOfPuntType();
  }

  /** Create an instance of {@link VlakOfLijnType } */
  public VlakOfLijnType createVlakOfLijnType() {
    return new VlakOfLijnType();
  }

  /** Create an instance of {@link VlakOfLijnPropertyType } */
  public VlakOfLijnPropertyType createVlakOfLijnPropertyType() {
    return new VlakOfLijnPropertyType();
  }

  /** Create an instance of {@link VlakOfPuntPropertyType } */
  public VlakOfPuntPropertyType createVlakOfPuntPropertyType() {
    return new VlakOfPuntPropertyType();
  }

  /** Create an instance of {@link VlakMultivlakOfPuntPropertyType } */
  public VlakMultivlakOfPuntPropertyType createVlakMultivlakOfPuntPropertyType() {
    return new VlakMultivlakOfPuntPropertyType();
  }

  /** Create an instance of {@link VlakOfMultivlakPropertyType } */
  public VlakOfMultivlakPropertyType createVlakOfMultivlakPropertyType() {
    return new VlakOfMultivlakPropertyType();
  }

  /** Create an instance of {@link LijnOfPuntPropertyType } */
  public LijnOfPuntPropertyType createLijnOfPuntPropertyType() {
    return new LijnOfPuntPropertyType();
  }

  /** Create an instance of {@link SurfacePropertyType } */
  public SurfacePropertyType createSurfacePropertyType() {
    return new SurfacePropertyType();
  }

  /** Create an instance of {@link MetaDataPropertyType } */
  public MetaDataPropertyType createMetaDataPropertyType() {
    return new MetaDataPropertyType();
  }

  /** Create an instance of {@link MultiSurfaceType } */
  public MultiSurfaceType createMultiSurfaceType() {
    return new MultiSurfaceType();
  }

  /** Create an instance of {@link StringOrRefType } */
  public StringOrRefType createStringOrRefType() {
    return new StringOrRefType();
  }

  /** Create an instance of {@link ReferenceType } */
  public ReferenceType createReferenceType() {
    return new ReferenceType();
  }

  /** Create an instance of {@link SurfaceArrayPropertyType } */
  public SurfaceArrayPropertyType createSurfaceArrayPropertyType() {
    return new SurfaceArrayPropertyType();
  }

  /** Create an instance of {@link EnvelopeType } */
  public EnvelopeType createEnvelopeType() {
    return new EnvelopeType();
  }

  /** Create an instance of {@link DirectPositionType } */
  public DirectPositionType createDirectPositionType() {
    return new DirectPositionType();
  }

  /** Create an instance of {@link CodeWithAuthorityType } */
  public CodeWithAuthorityType createCodeWithAuthorityType() {
    return new CodeWithAuthorityType();
  }

  /** Create an instance of {@link CodeType } */
  public CodeType createCodeType() {
    return new CodeType();
  }

  /** Create an instance of {@link BoundingShapeType } */
  public BoundingShapeType createBoundingShapeType() {
    return new BoundingShapeType();
  }

  /** Create an instance of {@link CoordinatesType } */
  public CoordinatesType createCoordinatesType() {
    return new CoordinatesType();
  }

  /** Create an instance of {@link PointType } */
  public PointType createPointType() {
    return new PointType();
  }

  /** Create an instance of {@link LocationPropertyType } */
  public LocationPropertyType createLocationPropertyType() {
    return new LocationPropertyType();
  }

  /** Create an instance of {@link CurvePropertyType } */
  public CurvePropertyType createCurvePropertyType() {
    return new CurvePropertyType();
  }

  /** Create an instance of {@link MultiSurfacePropertyType } */
  public MultiSurfacePropertyType createMultiSurfacePropertyType() {
    return new MultiSurfacePropertyType();
  }

  /** Create an instance of {@link PointPropertyType } */
  public PointPropertyType createPointPropertyType() {
    return new PointPropertyType();
  }

  /** Create an instance of {@link Top50NlObjectType.Identificatie } */
  public Top50NlObjectType.Identificatie createTop50NlObjectTypeIdentificatie() {
    return new Top50NlObjectType.Identificatie();
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link GeografischGebiedType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "GeografischGebied",
      substitutionHeadNamespace =
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      substitutionHeadName = "_Top50nlObject")
  public JAXBElement<GeografischGebiedType> createGeografischGebied(GeografischGebiedType value) {
    return new JAXBElement<GeografischGebiedType>(
        _GeografischGebied_QNAME, GeografischGebiedType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link LijnOfPuntType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "LijnOfPunt",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractObject")
  public JAXBElement<LijnOfPuntType> createLijnOfPunt(LijnOfPuntType value) {
    return new JAXBElement<LijnOfPuntType>(_LijnOfPunt_QNAME, LijnOfPuntType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link AbstractSurfaceType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://www.opengis.net/gml/3.2",
      name = "AbstractSurface",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractGeometricPrimitive")
  public JAXBElement<AbstractSurfaceType> createAbstractSurface(AbstractSurfaceType value) {
    return new JAXBElement<AbstractSurfaceType>(
        _AbstractSurface_QNAME, AbstractSurfaceType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link AbstractFeatureType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://www.opengis.net/gml/3.2",
      name = "AbstractFeature",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractGML")
  public JAXBElement<AbstractFeatureType> createAbstractFeature(AbstractFeatureType value) {
    return new JAXBElement<AbstractFeatureType>(
        _AbstractFeature_QNAME, AbstractFeatureType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link ReliefType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "Relief",
      substitutionHeadNamespace =
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      substitutionHeadName = "_Top50nlObject")
  public JAXBElement<ReliefType> createRelief(ReliefType value) {
    return new JAXBElement<ReliefType>(_Relief_QNAME, ReliefType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link Top50NlObjectType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "_Top50nlObject",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractFeature")
  public JAXBElement<Top50NlObjectType> createTop50NlObject(Top50NlObjectType value) {
    return new JAXBElement<Top50NlObjectType>(
        _Top50NlObject_QNAME, Top50NlObjectType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link CoordinatesType }{@code >}} */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "coordinates")
  public JAXBElement<CoordinatesType> createCoordinates(CoordinatesType value) {
    return new JAXBElement<CoordinatesType>(_Coordinates_QNAME, CoordinatesType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link NEN3610IDType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "NEN3610ID",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractObject")
  public JAXBElement<NEN3610IDType> createNEN3610ID(NEN3610IDType value) {
    return new JAXBElement<NEN3610IDType>(_NEN3610ID_QNAME, NEN3610IDType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link PointType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://www.opengis.net/gml/3.2",
      name = "Point",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractGeometricPrimitive")
  public JAXBElement<PointType> createPoint(PointType value) {
    return new JAXBElement<PointType>(_Point_QNAME, PointType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link HoogteType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "Hoogte",
      substitutionHeadNamespace =
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      substitutionHeadName = "_Top50nlObject")
  public JAXBElement<HoogteType> createHoogte(HoogteType value) {
    return new JAXBElement<HoogteType>(_Hoogte_QNAME, HoogteType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link WegdeelType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "Wegdeel",
      substitutionHeadNamespace =
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      substitutionHeadName = "_Top50nlObject")
  public JAXBElement<WegdeelType> createWegdeel(WegdeelType value) {
    return new JAXBElement<WegdeelType>(_Wegdeel_QNAME, WegdeelType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link BoundingShapeType }{@code >}} */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "boundedBy")
  public JAXBElement<BoundingShapeType> createBoundedBy(BoundingShapeType value) {
    return new JAXBElement<BoundingShapeType>(
        _BoundedBy_QNAME, BoundingShapeType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link CodeWithAuthorityType }{@code >}} */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "identifier")
  public JAXBElement<CodeWithAuthorityType> createIdentifier(CodeWithAuthorityType value) {
    return new JAXBElement<CodeWithAuthorityType>(
        _Identifier_QNAME, CodeWithAuthorityType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link StringOrRefType }{@code >}} */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "LocationString")
  public JAXBElement<StringOrRefType> createLocationString(StringOrRefType value) {
    return new JAXBElement<StringOrRefType>(
        _LocationString_QNAME, StringOrRefType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link CodeType }{@code >}} */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "LocationKeyWord")
  public JAXBElement<CodeType> createLocationKeyWord(CodeType value) {
    return new JAXBElement<CodeType>(_LocationKeyWord_QNAME, CodeType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link VlakOfPuntType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "VlakOfPunt",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractObject")
  public JAXBElement<VlakOfPuntType> createVlakOfPunt(VlakOfPuntType value) {
    return new JAXBElement<VlakOfPuntType>(_VlakOfPunt_QNAME, VlakOfPuntType.class, null, value);
  }

  /**
   * Create an instance of {@link JAXBElement }{@code <}{@link AbstractGeometricAggregateType
   * }{@code >}}
   */
  @XmlElementDecl(
      namespace = "http://www.opengis.net/gml/3.2",
      name = "AbstractGeometricAggregate",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractGeometry")
  public JAXBElement<AbstractGeometricAggregateType> createAbstractGeometricAggregate(
      AbstractGeometricAggregateType value) {
    return new JAXBElement<AbstractGeometricAggregateType>(
        _AbstractGeometricAggregate_QNAME, AbstractGeometricAggregateType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link GebouwType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "Gebouw",
      substitutionHeadNamespace =
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      substitutionHeadName = "_Top50nlObject")
  public JAXBElement<GebouwType> createGebouw(GebouwType value) {
    return new JAXBElement<GebouwType>(_Gebouw_QNAME, GebouwType.class, null, value);
  }

  /**
   * Create an instance of {@link JAXBElement }{@code <}{@link InrichtingselementType }{@code >}}
   */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "Inrichtingselement",
      substitutionHeadNamespace =
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      substitutionHeadName = "_Top50nlObject")
  public JAXBElement<InrichtingselementType> createInrichtingselement(
      InrichtingselementType value) {
    return new JAXBElement<InrichtingselementType>(
        _Inrichtingselement_QNAME, InrichtingselementType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link CodeType }{@code >}} */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "name")
  public JAXBElement<CodeType> createName(CodeType value) {
    return new JAXBElement<CodeType>(_Name_QNAME, CodeType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link LocationPropertyType }{@code >}} */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "location")
  public JAXBElement<LocationPropertyType> createLocation(LocationPropertyType value) {
    return new JAXBElement<LocationPropertyType>(
        _Location_QNAME, LocationPropertyType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link AbstractCurveType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://www.opengis.net/gml/3.2",
      name = "AbstractCurve",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractGeometricPrimitive")
  public JAXBElement<AbstractCurveType> createAbstractCurve(AbstractCurveType value) {
    return new JAXBElement<AbstractCurveType>(
        _AbstractCurve_QNAME, AbstractCurveType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link FunctioneelGebiedType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "FunctioneelGebied",
      substitutionHeadNamespace =
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      substitutionHeadName = "_Top50nlObject")
  public JAXBElement<FunctioneelGebiedType> createFunctioneelGebied(FunctioneelGebiedType value) {
    return new JAXBElement<FunctioneelGebiedType>(
        _FunctioneelGebied_QNAME, FunctioneelGebiedType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link Object }{@code >}} */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "AbstractObject")
  public JAXBElement<Object> createAbstractObject(Object value) {
    return new JAXBElement<Object>(_AbstractObject_QNAME, Object.class, null, value);
  }

  /**
   * Create an instance of {@link JAXBElement }{@code <}{@link FeatureCollectionTop50Type }{@code
   * >}}
   */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "FeatureCollectionTop50",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractGML")
  public JAXBElement<FeatureCollectionTop50Type> createFeatureCollectionTop50(
      FeatureCollectionTop50Type value) {
    return new JAXBElement<FeatureCollectionTop50Type>(
        _FeatureCollectionTop50_QNAME, FeatureCollectionTop50Type.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link EnvelopeType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://www.opengis.net/gml/3.2",
      name = "Envelope",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractObject")
  public JAXBElement<EnvelopeType> createEnvelope(EnvelopeType value) {
    return new JAXBElement<EnvelopeType>(_Envelope_QNAME, EnvelopeType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link AbstractGMLType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://www.opengis.net/gml/3.2",
      name = "AbstractGML",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractObject")
  public JAXBElement<AbstractGMLType> createAbstractGML(AbstractGMLType value) {
    return new JAXBElement<AbstractGMLType>(_AbstractGML_QNAME, AbstractGMLType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link TerreinType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "Terrein",
      substitutionHeadNamespace =
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      substitutionHeadName = "_Top50nlObject")
  public JAXBElement<TerreinType> createTerrein(TerreinType value) {
    return new JAXBElement<TerreinType>(_Terrein_QNAME, TerreinType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link StringOrRefType }{@code >}} */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "description")
  public JAXBElement<StringOrRefType> createDescription(StringOrRefType value) {
    return new JAXBElement<StringOrRefType>(_Description_QNAME, StringOrRefType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link ReferenceType }{@code >}} */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "descriptionReference")
  public JAXBElement<ReferenceType> createDescriptionReference(ReferenceType value) {
    return new JAXBElement<ReferenceType>(
        _DescriptionReference_QNAME, ReferenceType.class, null, value);
  }

  /**
   * Create an instance of {@link JAXBElement }{@code <}{@link VlakMultivlakOfPuntType }{@code >}}
   */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "VlakMultivlakOfPunt",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractObject")
  public JAXBElement<VlakMultivlakOfPuntType> createVlakMultivlakOfPunt(
      VlakMultivlakOfPuntType value) {
    return new JAXBElement<VlakMultivlakOfPuntType>(
        _VlakMultivlakOfPunt_QNAME, VlakMultivlakOfPuntType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link VlakOfLijnType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "VlakOfLijn",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractObject")
  public JAXBElement<VlakOfLijnType> createVlakOfLijn(VlakOfLijnType value) {
    return new JAXBElement<VlakOfLijnType>(_VlakOfLijn_QNAME, VlakOfLijnType.class, null, value);
  }

  /**
   * Create an instance of {@link JAXBElement }{@code <}{@link SurfaceArrayPropertyType }{@code >}}
   */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "surfaceMembers")
  public JAXBElement<SurfaceArrayPropertyType> createSurfaceMembers(
      SurfaceArrayPropertyType value) {
    return new JAXBElement<SurfaceArrayPropertyType>(
        _SurfaceMembers_QNAME, SurfaceArrayPropertyType.class, null, value);
  }

  /**
   * Create an instance of {@link JAXBElement }{@code <}{@link RegistratiefGebiedType }{@code >}}
   */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "RegistratiefGebied",
      substitutionHeadNamespace =
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      substitutionHeadName = "_Top50nlObject")
  public JAXBElement<RegistratiefGebiedType> createRegistratiefGebied(
      RegistratiefGebiedType value) {
    return new JAXBElement<RegistratiefGebiedType>(
        _RegistratiefGebied_QNAME, RegistratiefGebiedType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link FeatureMemberType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "FeatureMember")
  public JAXBElement<FeatureMemberType> createFeatureMember(FeatureMemberType value) {
    return new JAXBElement<FeatureMemberType>(
        _FeatureMember_QNAME, FeatureMemberType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link MultiSurfaceType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://www.opengis.net/gml/3.2",
      name = "MultiSurface",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractGeometricAggregate")
  public JAXBElement<MultiSurfaceType> createMultiSurface(MultiSurfaceType value) {
    return new JAXBElement<MultiSurfaceType>(
        _MultiSurface_QNAME, MultiSurfaceType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link VlakOfMultivlakType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "VlakOfMultivlak",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractObject")
  public JAXBElement<VlakOfMultivlakType> createVlakOfMultivlak(VlakOfMultivlakType value) {
    return new JAXBElement<VlakOfMultivlakType>(
        _VlakOfMultivlak_QNAME, VlakOfMultivlakType.class, null, value);
  }

  /**
   * Create an instance of {@link JAXBElement }{@code <}{@link AbstractGeometricPrimitiveType
   * }{@code >}}
   */
  @XmlElementDecl(
      namespace = "http://www.opengis.net/gml/3.2",
      name = "AbstractGeometricPrimitive",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractGeometry")
  public JAXBElement<AbstractGeometricPrimitiveType> createAbstractGeometricPrimitive(
      AbstractGeometricPrimitiveType value) {
    return new JAXBElement<AbstractGeometricPrimitiveType>(
        _AbstractGeometricPrimitive_QNAME, AbstractGeometricPrimitiveType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link SurfacePropertyType }{@code >}} */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "surfaceMember")
  public JAXBElement<SurfacePropertyType> createSurfaceMember(SurfacePropertyType value) {
    return new JAXBElement<SurfacePropertyType>(
        _SurfaceMember_QNAME, SurfacePropertyType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link AbstractGeometryType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://www.opengis.net/gml/3.2",
      name = "AbstractGeometry",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractGML")
  public JAXBElement<AbstractGeometryType> createAbstractGeometry(AbstractGeometryType value) {
    return new JAXBElement<AbstractGeometryType>(
        _AbstractGeometry_QNAME, AbstractGeometryType.class, null, value);
  }

  /**
   * Create an instance of {@link JAXBElement }{@code <}{@link List }{@code <}{@link String }{@code
   * >}{@code >}}
   */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "Null")
  public JAXBElement<List<String>> createNull(List<String> value) {
    return new JAXBElement<List<String>>(
        _Null_QNAME, ((Class) List.class), null, ((List<String>) value));
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link MetaDataPropertyType }{@code >}} */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "metaDataProperty")
  public JAXBElement<MetaDataPropertyType> createMetaDataProperty(MetaDataPropertyType value) {
    return new JAXBElement<MetaDataPropertyType>(
        _MetaDataProperty_QNAME, MetaDataPropertyType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link WaterdeelType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "Waterdeel",
      substitutionHeadNamespace =
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      substitutionHeadName = "_Top50nlObject")
  public JAXBElement<WaterdeelType> createWaterdeel(WaterdeelType value) {
    return new JAXBElement<WaterdeelType>(_Waterdeel_QNAME, WaterdeelType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link SpoorbaandeelType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      name = "Spoorbaandeel",
      substitutionHeadNamespace =
          "http://register.geostandaarden.nl/gmlapplicatieschema/top50nl/1.1.1",
      substitutionHeadName = "_Top50nlObject")
  public JAXBElement<SpoorbaandeelType> createSpoorbaandeel(SpoorbaandeelType value) {
    return new JAXBElement<SpoorbaandeelType>(
        _Spoorbaandeel_QNAME, SpoorbaandeelType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link AbstractMetaDataType }{@code >}} */
  @XmlElementDecl(
      namespace = "http://www.opengis.net/gml/3.2",
      name = "AbstractMetaData",
      substitutionHeadNamespace = "http://www.opengis.net/gml/3.2",
      substitutionHeadName = "AbstractObject")
  public JAXBElement<AbstractMetaDataType> createAbstractMetaData(AbstractMetaDataType value) {
    return new JAXBElement<AbstractMetaDataType>(
        _AbstractMetaData_QNAME, AbstractMetaDataType.class, null, value);
  }

  /** Create an instance of {@link JAXBElement }{@code <}{@link DirectPositionType }{@code >}} */
  @XmlElementDecl(namespace = "http://www.opengis.net/gml/3.2", name = "pos")
  public JAXBElement<DirectPositionType> createPos(DirectPositionType value) {
    return new JAXBElement<DirectPositionType>(_Pos_QNAME, DirectPositionType.class, null, value);
  }
}