//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.0.5-b02-fcs 
// 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: 2008.10.12 at 02:39:09 PM CEST 
//


package slash.navigation.kml.binding22beta;

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


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the slash.navigation.kml.binding22 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 final static QName _HotSpot_QNAME = new QName("http://earth.google.com/kml/2.2", "hotSpot");
    private final static QName _Camera_QNAME = new QName("http://earth.google.com/kml/2.2", "Camera");
    private final static QName _AbstractFeatureGroup_QNAME = new QName("http://earth.google.com/kml/2.2", "AbstractFeatureGroup");
    private final static QName _ViewRefreshMode_QNAME = new QName("http://earth.google.com/kml/2.2", "viewRefreshMode");
    private final static QName _Snippet_QNAME = new QName("http://earth.google.com/kml/2.2", "Snippet");
    private final static QName _ViewBoundScale_QNAME = new QName("http://earth.google.com/kml/2.2", "viewBoundScale");
    private final static QName _LinkSnippet_QNAME = new QName("http://earth.google.com/kml/2.2", "linkSnippet");
    private final static QName _GridOrigin_QNAME = new QName("http://earth.google.com/kml/2.2", "gridOrigin");
    private final static QName _MaxFadeExtent_QNAME = new QName("http://earth.google.com/kml/2.2", "maxFadeExtent");
    private final static QName _AltitudeMode_QNAME = new QName("http://earth.google.com/kml/2.2", "altitudeMode");
    private final static QName _Heading_QNAME = new QName("http://earth.google.com/kml/2.2", "heading");
    private final static QName _Metadata_QNAME = new QName("http://earth.google.com/kml/2.2", "Metadata");
    private final static QName _Latitude_QNAME = new QName("http://earth.google.com/kml/2.2", "latitude");
    private final static QName _IconStyle_QNAME = new QName("http://earth.google.com/kml/2.2", "IconStyle");
    private final static QName _RotationXY_QNAME = new QName("http://earth.google.com/kml/2.2", "rotationXY");
    private final static QName _Cookie_QNAME = new QName("http://earth.google.com/kml/2.2", "cookie");
    private final static QName _MinFadeExtent_QNAME = new QName("http://earth.google.com/kml/2.2", "minFadeExtent");
    private final static QName _AbstractObjectGroup_QNAME = new QName("http://earth.google.com/kml/2.2", "AbstractObjectGroup");
    private final static QName _StyleUrl_QNAME = new QName("http://earth.google.com/kml/2.2", "styleUrl");
    private final static QName _MaxAltitude_QNAME = new QName("http://earth.google.com/kml/2.2", "maxAltitude");
    private final static QName _Visibility_QNAME = new QName("http://earth.google.com/kml/2.2", "visibility");
    private final static QName _RightFov_QNAME = new QName("http://earth.google.com/kml/2.2", "rightFov");
    private final static QName _TileSize_QNAME = new QName("http://earth.google.com/kml/2.2", "tileSize");
    private final static QName _Altitude_QNAME = new QName("http://earth.google.com/kml/2.2", "altitude");
    private final static QName _Model_QNAME = new QName("http://earth.google.com/kml/2.2", "Model");
    private final static QName _Href_QNAME = new QName("http://earth.google.com/kml/2.2", "href");
    private final static QName _MaxLodPixels_QNAME = new QName("http://earth.google.com/kml/2.2", "maxLodPixels");
    private final static QName _AbstractSubStyleGroup_QNAME = new QName("http://earth.google.com/kml/2.2", "AbstractSubStyleGroup");
    private final static QName _Point_QNAME = new QName("http://earth.google.com/kml/2.2", "Point");
    private final static QName _BottomFov_QNAME = new QName("http://earth.google.com/kml/2.2", "bottomFov");
    private final static QName _OverlayXY_QNAME = new QName("http://earth.google.com/kml/2.2", "overlayXY");
    private final static QName _TopFov_QNAME = new QName("http://earth.google.com/kml/2.2", "topFov");
    private final static QName _Url_QNAME = new QName("http://earth.google.com/kml/2.2", "Url");
    private final static QName _PhoneNumber_QNAME = new QName("http://earth.google.com/kml/2.2", "phoneNumber");
    private final static QName _Rotation_QNAME = new QName("http://earth.google.com/kml/2.2", "rotation");
    private final static QName _Open_QNAME = new QName("http://earth.google.com/kml/2.2", "open");
    private final static QName _Data_QNAME = new QName("http://earth.google.com/kml/2.2", "Data");
    private final static QName _Expires_QNAME = new QName("http://earth.google.com/kml/2.2", "expires");
    private final static QName _Roll_QNAME = new QName("http://earth.google.com/kml/2.2", "roll");
    private final static QName _AbstractOverlayGroup_QNAME = new QName("http://earth.google.com/kml/2.2", "AbstractOverlayGroup");
    private final static QName _ExtendedData_QNAME = new QName("http://earth.google.com/kml/2.2", "ExtendedData");
    private final static QName _TimeSpan_QNAME = new QName("http://earth.google.com/kml/2.2", "TimeSpan");
    private final static QName _LineString_QNAME = new QName("http://earth.google.com/kml/2.2", "LineString");
    private final static QName _Tilt_QNAME = new QName("http://earth.google.com/kml/2.2", "tilt");
    private final static QName _Schema_QNAME = new QName("http://earth.google.com/kml/2.2", "Schema");
    private final static QName _SchemaData_QNAME = new QName("http://earth.google.com/kml/2.2", "SchemaData");
    private final static QName _Orientation_QNAME = new QName("http://earth.google.com/kml/2.2", "Orientation");
    private final static QName _TextColor_QNAME = new QName("http://earth.google.com/kml/2.2", "textColor");
    private final static QName _Z_QNAME = new QName("http://earth.google.com/kml/2.2", "z");
    private final static QName _ImagePyramid_QNAME = new QName("http://earth.google.com/kml/2.2", "ImagePyramid");
    private final static QName _X_QNAME = new QName("http://earth.google.com/kml/2.2", "x");
    private final static QName _TargetHref_QNAME = new QName("http://earth.google.com/kml/2.2", "targetHref");
    private final static QName _Y_QNAME = new QName("http://earth.google.com/kml/2.2", "y");
    private final static QName _South_QNAME = new QName("http://earth.google.com/kml/2.2", "south");
    private final static QName _LabelStyle_QNAME = new QName("http://earth.google.com/kml/2.2", "LabelStyle");
    private final static QName _LatLonBox_QNAME = new QName("http://earth.google.com/kml/2.2", "LatLonBox");
    private final static QName _HttpQuery_QNAME = new QName("http://earth.google.com/kml/2.2", "httpQuery");
    private final static QName _TimeStamp_QNAME = new QName("http://earth.google.com/kml/2.2", "TimeStamp");
    private final static QName _Polygon_QNAME = new QName("http://earth.google.com/kml/2.2", "Polygon");
    private final static QName _Link_QNAME = new QName("http://earth.google.com/kml/2.2", "Link");
    private final static QName _Outline_QNAME = new QName("http://earth.google.com/kml/2.2", "outline");
    private final static QName _ListItemType_QNAME = new QName("http://earth.google.com/kml/2.2", "listItemType");
    private final static QName _PhotoOverlay_QNAME = new QName("http://earth.google.com/kml/2.2", "PhotoOverlay");
    private final static QName _Range_QNAME = new QName("http://earth.google.com/kml/2.2", "range");
    private final static QName _Pair_QNAME = new QName("http://earth.google.com/kml/2.2", "Pair");
    private final static QName _FlyToView_QNAME = new QName("http://earth.google.com/kml/2.2", "flyToView");
    private final static QName _RefreshInterval_QNAME = new QName("http://earth.google.com/kml/2.2", "refreshInterval");
    private final static QName _ViewFormat_QNAME = new QName("http://earth.google.com/kml/2.2", "viewFormat");
    private final static QName _ListStyle_QNAME = new QName("http://earth.google.com/kml/2.2", "ListStyle");
    private final static QName _MinLodPixels_QNAME = new QName("http://earth.google.com/kml/2.2", "minLodPixels");
    private final static QName _End_QNAME = new QName("http://earth.google.com/kml/2.2", "end");
    private final static QName _ColorMode_QNAME = new QName("http://earth.google.com/kml/2.2", "colorMode");
    private final static QName _RefreshMode_QNAME = new QName("http://earth.google.com/kml/2.2", "refreshMode");
    private final static QName _Create_QNAME = new QName("http://earth.google.com/kml/2.2", "Create");
    private final static QName _Extrude_QNAME = new QName("http://earth.google.com/kml/2.2", "extrude");
    private final static QName _Size_QNAME = new QName("http://earth.google.com/kml/2.2", "size");
    private final static QName _DisplayMode_QNAME = new QName("http://earth.google.com/kml/2.2", "displayMode");
    private final static QName _LookAt_QNAME = new QName("http://earth.google.com/kml/2.2", "LookAt");
    private final static QName _Shape_QNAME = new QName("http://earth.google.com/kml/2.2", "shape");
    private final static QName _OuterBoundaryIs_QNAME = new QName("http://earth.google.com/kml/2.2", "outerBoundaryIs");
    private final static QName _StyleMap_QNAME = new QName("http://earth.google.com/kml/2.2", "StyleMap");
    private final static QName _AbstractColorStyleGroup_QNAME = new QName("http://earth.google.com/kml/2.2", "AbstractColorStyleGroup");
    private final static QName _Change_QNAME = new QName("http://earth.google.com/kml/2.2", "Change");
    private final static QName _Width_QNAME = new QName("http://earth.google.com/kml/2.2", "width");
    private final static QName _PolyStyle_QNAME = new QName("http://earth.google.com/kml/2.2", "PolyStyle");
    private final static QName _Text_QNAME = new QName("http://earth.google.com/kml/2.2", "text");
    private final static QName _MinAltitude_QNAME = new QName("http://earth.google.com/kml/2.2", "minAltitude");
    private final static QName _GroundOverlay_QNAME = new QName("http://earth.google.com/kml/2.2", "GroundOverlay");
    private final static QName _West_QNAME = new QName("http://earth.google.com/kml/2.2", "west");
    private final static QName _ViewRefreshTime_QNAME = new QName("http://earth.google.com/kml/2.2", "viewRefreshTime");
    private final static QName _MaxHeight_QNAME = new QName("http://earth.google.com/kml/2.2", "maxHeight");
    private final static QName _LinkDescription_QNAME = new QName("http://earth.google.com/kml/2.2", "linkDescription");
    private final static QName _Near_QNAME = new QName("http://earth.google.com/kml/2.2", "near");
    private final static QName _AddressDetails_QNAME = new QName("urn:oasis:names:tc:ciq:xsdschema:xAL:2.0", "AddressDetails");
    private final static QName _InnerBoundaryIs_QNAME = new QName("http://earth.google.com/kml/2.2", "innerBoundaryIs");
    private final static QName _Author_QNAME = new QName("http://www.w3.org/2005/Atom", "author");
    private final static QName _ResourceMap_QNAME = new QName("http://earth.google.com/kml/2.2", "ResourceMap");
    private final static QName _Name_QNAME = new QName("http://www.w3.org/2005/Atom", "name");
    private final static QName _LinearRing_QNAME = new QName("http://earth.google.com/kml/2.2", "LinearRing");
    private final static QName _DrawOrder_QNAME = new QName("http://earth.google.com/kml/2.2", "drawOrder");
    private final static QName _Style_QNAME = new QName("http://earth.google.com/kml/2.2", "Style");
    private final static QName _SimpleData_QNAME = new QName("http://earth.google.com/kml/2.2", "SimpleData");
    private final static QName _NetworkLink_QNAME = new QName("http://earth.google.com/kml/2.2", "NetworkLink");
    private final static QName _LineStyle_QNAME = new QName("http://earth.google.com/kml/2.2", "LineStyle");
    private final static QName _MaxSessionLength_QNAME = new QName("http://earth.google.com/kml/2.2", "maxSessionLength");
    private final static QName _Key_QNAME = new QName("http://earth.google.com/kml/2.2", "key");
    private final static QName _Value_QNAME = new QName("http://earth.google.com/kml/2.2", "value");
    private final static QName _Kml_QNAME = new QName("http://earth.google.com/kml/2.2", "kml");
    private final static QName _MaxWidth_QNAME = new QName("http://earth.google.com/kml/2.2", "maxWidth");
    private final static QName _Scale_QNAME = new QName("http://earth.google.com/kml/2.2", "Scale");
    private final static QName _Delete_QNAME = new QName("http://earth.google.com/kml/2.2", "Delete");
    private final static QName _Longitude_QNAME = new QName("http://earth.google.com/kml/2.2", "longitude");
    private final static QName _ScreenOverlay_QNAME = new QName("http://earth.google.com/kml/2.2", "ScreenOverlay");
    private final static QName _When_QNAME = new QName("http://earth.google.com/kml/2.2", "when");
    private final static QName _LatLonAltBox_QNAME = new QName("http://earth.google.com/kml/2.2", "LatLonAltBox");
    private final static QName _Description_QNAME = new QName("http://earth.google.com/kml/2.2", "description");
    private final static QName _RefreshVisibility_QNAME = new QName("http://earth.google.com/kml/2.2", "refreshVisibility");
    private final static QName _BgColor_QNAME = new QName("http://earth.google.com/kml/2.2", "bgColor");
    private final static QName _Begin_QNAME = new QName("http://earth.google.com/kml/2.2", "begin");
    private final static QName _Location_QNAME = new QName("http://earth.google.com/kml/2.2", "Location");
    private final static QName _Tessellate_QNAME = new QName("http://earth.google.com/kml/2.2", "tessellate");
    private final static QName _Email_QNAME = new QName("http://www.w3.org/2005/Atom", "email");
    private final static QName _Fill_QNAME = new QName("http://earth.google.com/kml/2.2", "fill");
    private final static QName _NetworkLinkControl_QNAME = new QName("http://earth.google.com/kml/2.2", "NetworkLinkControl");
    private final static QName _Folder_QNAME = new QName("http://earth.google.com/kml/2.2", "Folder");
    private final static QName _Document_QNAME = new QName("http://earth.google.com/kml/2.2", "Document");
    private final static QName _AbstractGeometryGroup_QNAME = new QName("http://earth.google.com/kml/2.2", "AbstractGeometryGroup");
    private final static QName _LeftFov_QNAME = new QName("http://earth.google.com/kml/2.2", "leftFov");
    private final static QName _DisplayName_QNAME = new QName("http://earth.google.com/kml/2.2", "displayName");
    private final static QName _Placemark_QNAME = new QName("http://earth.google.com/kml/2.2", "Placemark");
    private final static QName _Icon_QNAME = new QName("http://earth.google.com/kml/2.2", "Icon");
    private final static QName _AbstractViewGroup_QNAME = new QName("http://earth.google.com/kml/2.2", "AbstractViewGroup");
    private final static QName _Address_QNAME = new QName("http://earth.google.com/kml/2.2", "address");
    private final static QName _Color_QNAME = new QName("http://earth.google.com/kml/2.2", "color");
    private final static QName _Alias_QNAME = new QName("http://earth.google.com/kml/2.2", "Alias");
    private final static QName _Message_QNAME = new QName("http://earth.google.com/kml/2.2", "message");
    private final static QName _Uri_QNAME = new QName("http://www.w3.org/2005/Atom", "uri");
    private final static QName _State_QNAME = new QName("http://earth.google.com/kml/2.2", "state");
    private final static QName _ScreenXY_QNAME = new QName("http://earth.google.com/kml/2.2", "screenXY");
    private final static QName _North_QNAME = new QName("http://earth.google.com/kml/2.2", "north");
    private final static QName _ViewVolume_QNAME = new QName("http://earth.google.com/kml/2.2", "ViewVolume");
    private final static QName _AbstractContainerGroup_QNAME = new QName("http://earth.google.com/kml/2.2", "AbstractContainerGroup");
    private final static QName _Update_QNAME = new QName("http://earth.google.com/kml/2.2", "Update");
    private final static QName _AbstractTimePrimitiveGroup_QNAME = new QName("http://earth.google.com/kml/2.2", "AbstractTimePrimitiveGroup");
    private final static QName _MinRefreshPeriod_QNAME = new QName("http://earth.google.com/kml/2.2", "minRefreshPeriod");
    private final static QName _SimpleField_QNAME = new QName("http://earth.google.com/kml/2.2", "SimpleField");
    private final static QName _ItemIcon_QNAME = new QName("http://earth.google.com/kml/2.2", "ItemIcon");
    private final static QName _AbstractStyleSelectorGroup_QNAME = new QName("http://earth.google.com/kml/2.2", "AbstractStyleSelectorGroup");
    private final static QName _Coordinates_QNAME = new QName("http://earth.google.com/kml/2.2", "coordinates");
    private final static QName _LinkName_QNAME = new QName("http://earth.google.com/kml/2.2", "linkName");
    private final static QName _MultiGeometry_QNAME = new QName("http://earth.google.com/kml/2.2", "MultiGeometry");
    private final static QName _BalloonStyle_QNAME = new QName("http://earth.google.com/kml/2.2", "BalloonStyle");
    private final static QName _AltitudeModeGroup_QNAME = new QName("http://earth.google.com/kml/2.2", "altitudeModeGroup");
    private final static QName _SourceHref_QNAME = new QName("http://earth.google.com/kml/2.2", "sourceHref");
    private final static QName _East_QNAME = new QName("http://earth.google.com/kml/2.2", "east");
    private final static QName _Lod_QNAME = new QName("http://earth.google.com/kml/2.2", "Lod");
    private final static QName _Region_QNAME = new QName("http://earth.google.com/kml/2.2", "Region");

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: slash.navigation.kml.binding22
     * 
     */
    public ObjectFactory() {
    }

    /**
     * Create an instance of {@link DependentLocalityType.DependentLocalityNumber }
     * 
     */
    public DependentLocalityType.DependentLocalityNumber createDependentLocalityTypeDependentLocalityNumber() {
        return new DependentLocalityType.DependentLocalityNumber();
    }

    /**
     * Create an instance of {@link LargeMailUserType.LargeMailUserIdentifier }
     * 
     */
    public LargeMailUserType.LargeMailUserIdentifier createLargeMailUserTypeLargeMailUserIdentifier() {
        return new LargeMailUserType.LargeMailUserIdentifier();
    }

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

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

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

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

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

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseNumberSuffix }
     * 
     */
    public SubPremiseType.SubPremiseNumberSuffix createSubPremiseTypeSubPremiseNumberSuffix() {
        return new SubPremiseType.SubPremiseNumberSuffix();
    }

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseNumberPrefix }
     * 
     */
    public SubPremiseType.SubPremiseNumberPrefix createSubPremiseTypeSubPremiseNumberPrefix() {
        return new SubPremiseType.SubPremiseNumberPrefix();
    }

    /**
     * Create an instance of {@link PostalRouteType.PostalRouteNumber }
     * 
     */
    public PostalRouteType.PostalRouteNumber createPostalRouteTypePostalRouteNumber() {
        return new PostalRouteType.PostalRouteNumber();
    }

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

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

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

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressLongitudeDirection }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressLongitudeDirection createAddressDetailsPostalServiceElementsAddressLongitudeDirection() {
        return new AddressDetails.PostalServiceElements.AddressLongitudeDirection();
    }

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

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

    /**
     * Create an instance of {@link MailStopType.MailStopNumber }
     * 
     */
    public MailStopType.MailStopNumber createMailStopTypeMailStopNumber() {
        return new MailStopType.MailStopNumber();
    }

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

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

    /**
     * Create an instance of {@link AddressDetails.Country }
     * 
     */
    public AddressDetails.Country createAddressDetailsCountry() {
        return new AddressDetails.Country();
    }

    /**
     * Create an instance of {@link AdministrativeArea.AdministrativeAreaName }
     * 
     */
    public AdministrativeArea.AdministrativeAreaName createAdministrativeAreaAdministrativeAreaName() {
        return new AdministrativeArea.AdministrativeAreaName();
    }

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

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

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseLocation }
     * 
     */
    public SubPremiseType.SubPremiseLocation createSubPremiseTypeSubPremiseLocation() {
        return new SubPremiseType.SubPremiseLocation();
    }

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

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

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

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

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

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

    /**
     * Create an instance of {@link MailStopType.MailStopName }
     * 
     */
    public MailStopType.MailStopName createMailStopTypeMailStopName() {
        return new MailStopType.MailStopName();
    }

    /**
     * Create an instance of {@link Thoroughfare.ThoroughfareNumberRange }
     * 
     */
    public Thoroughfare.ThoroughfareNumberRange createThoroughfareThoroughfareNumberRange() {
        return new Thoroughfare.ThoroughfareNumberRange();
    }

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

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

    /**
     * Create an instance of {@link PostBox.PostBoxNumber }
     * 
     */
    public PostBox.PostBoxNumber createPostBoxPostBoxNumber() {
        return new PostBox.PostBoxNumber();
    }

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

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

    /**
     * Create an instance of {@link AdministrativeArea.SubAdministrativeArea }
     * 
     */
    public AdministrativeArea.SubAdministrativeArea createAdministrativeAreaSubAdministrativeArea() {
        return new AdministrativeArea.SubAdministrativeArea();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressIdentifier }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressIdentifier createAddressDetailsPostalServiceElementsAddressIdentifier() {
        return new AddressDetails.PostalServiceElements.AddressIdentifier();
    }

    /**
     * Create an instance of {@link PostBox.PostBoxNumberExtension }
     * 
     */
    public PostBox.PostBoxNumberExtension createPostBoxPostBoxNumberExtension() {
        return new PostBox.PostBoxNumberExtension();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressLatitude }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressLatitude createAddressDetailsPostalServiceElementsAddressLatitude() {
        return new AddressDetails.PostalServiceElements.AddressLatitude();
    }

    /**
     * Create an instance of {@link AddressDetails.Country.CountryNameCode }
     * 
     */
    public AddressDetails.Country.CountryNameCode createAddressDetailsCountryCountryNameCode() {
        return new AddressDetails.Country.CountryNameCode();
    }

    /**
     * Create an instance of {@link Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo }
     * 
     */
    public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo createThoroughfareThoroughfareNumberRangeThoroughfareNumberTo() {
        return new Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo();
    }

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

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

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

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

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

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

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseNumber }
     * 
     */
    public SubPremiseType.SubPremiseNumber createSubPremiseTypeSubPremiseNumber() {
        return new SubPremiseType.SubPremiseNumber();
    }

    /**
     * Create an instance of {@link PostOffice.PostOfficeNumber }
     * 
     */
    public PostOffice.PostOfficeNumber createPostOfficePostOfficeNumber() {
        return new PostOffice.PostOfficeNumber();
    }

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

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

    /**
     * Create an instance of {@link Premise.PremiseNumberRange }
     * 
     */
    public Premise.PremiseNumberRange createPremisePremiseNumberRange() {
        return new Premise.PremiseNumberRange();
    }

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

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

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

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

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

    /**
     * Create an instance of {@link Locality.LocalityName }
     * 
     */
    public Locality.LocalityName createLocalityLocalityName() {
        return new Locality.LocalityName();
    }

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

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

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

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

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements }
     * 
     */
    public AddressDetails.PostalServiceElements createAddressDetailsPostalServiceElements() {
        return new AddressDetails.PostalServiceElements();
    }

    /**
     * Create an instance of {@link Premise.PremiseLocation }
     * 
     */
    public Premise.PremiseLocation createPremisePremiseLocation() {
        return new Premise.PremiseLocation();
    }

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

    /**
     * Create an instance of {@link PostBox.PostBoxNumberPrefix }
     * 
     */
    public PostBox.PostBoxNumberPrefix createPostBoxPostBoxNumberPrefix() {
        return new PostBox.PostBoxNumberPrefix();
    }

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

    /**
     * Create an instance of {@link Premise.PremiseNumberRange.PremiseNumberRangeTo }
     * 
     */
    public Premise.PremiseNumberRange.PremiseNumberRangeTo createPremisePremiseNumberRangePremiseNumberRangeTo() {
        return new Premise.PremiseNumberRange.PremiseNumberRangeTo();
    }

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

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

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

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

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.EndorsementLineCode }
     * 
     */
    public AddressDetails.PostalServiceElements.EndorsementLineCode createAddressDetailsPostalServiceElementsEndorsementLineCode() {
        return new AddressDetails.PostalServiceElements.EndorsementLineCode();
    }

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

    /**
     * Create an instance of {@link Premise.PremiseNumberRange.PremiseNumberRangeFrom }
     * 
     */
    public Premise.PremiseNumberRange.PremiseNumberRangeFrom createPremisePremiseNumberRangePremiseNumberRangeFrom() {
        return new Premise.PremiseNumberRange.PremiseNumberRangeFrom();
    }

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

    /**
     * Create an instance of {@link PostalCode.PostTown.PostTownSuffix }
     * 
     */
    public PostalCode.PostTown.PostTownSuffix createPostalCodePostTownPostTownSuffix() {
        return new PostalCode.PostTown.PostTownSuffix();
    }

    /**
     * Create an instance of {@link PostalCode.PostTown.PostTownName }
     * 
     */
    public PostalCode.PostTown.PostTownName createPostalCodePostTownPostTownName() {
        return new PostalCode.PostTown.PostTownName();
    }

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

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

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

    /**
     * Create an instance of {@link PostBox.PostBoxNumberSuffix }
     * 
     */
    public PostBox.PostBoxNumberSuffix createPostBoxPostBoxNumberSuffix() {
        return new PostBox.PostBoxNumberSuffix();
    }

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

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseName }
     * 
     */
    public SubPremiseType.SubPremiseName createSubPremiseTypeSubPremiseName() {
        return new SubPremiseType.SubPremiseName();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.Barcode }
     * 
     */
    public AddressDetails.PostalServiceElements.Barcode createAddressDetailsPostalServiceElementsBarcode() {
        return new AddressDetails.PostalServiceElements.Barcode();
    }

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

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressLatitudeDirection }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressLatitudeDirection createAddressDetailsPostalServiceElementsAddressLatitudeDirection() {
        return new AddressDetails.PostalServiceElements.AddressLatitudeDirection();
    }

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

    /**
     * Create an instance of {@link PostOffice.PostOfficeName }
     * 
     */
    public PostOffice.PostOfficeName createPostOfficePostOfficeName() {
        return new PostOffice.PostOfficeName();
    }

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

    /**
     * Create an instance of {@link FirmType.FirmName }
     * 
     */
    public FirmType.FirmName createFirmTypeFirmName() {
        return new FirmType.FirmName();
    }

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

    /**
     * Create an instance of {@link AdministrativeArea.SubAdministrativeArea.SubAdministrativeAreaName }
     * 
     */
    public AdministrativeArea.SubAdministrativeArea.SubAdministrativeAreaName createAdministrativeAreaSubAdministrativeAreaSubAdministrativeAreaName() {
        return new AdministrativeArea.SubAdministrativeArea.SubAdministrativeAreaName();
    }

    /**
     * Create an instance of {@link DependentLocalityType.DependentLocalityName }
     * 
     */
    public DependentLocalityType.DependentLocalityName createDependentLocalityTypeDependentLocalityName() {
        return new DependentLocalityType.DependentLocalityName();
    }

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

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

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

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

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

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

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

    /**
     * Create an instance of {@link Thoroughfare.DependentThoroughfare }
     * 
     */
    public Thoroughfare.DependentThoroughfare createThoroughfareDependentThoroughfare() {
        return new Thoroughfare.DependentThoroughfare();
    }

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

    /**
     * Create an instance of {@link PostalCode.PostalCodeNumberExtension }
     * 
     */
    public PostalCode.PostalCodeNumberExtension createPostalCodePostalCodeNumberExtension() {
        return new PostalCode.PostalCodeNumberExtension();
    }

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

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

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

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.SortingCode }
     * 
     */
    public AddressDetails.PostalServiceElements.SortingCode createAddressDetailsPostalServiceElementsSortingCode() {
        return new AddressDetails.PostalServiceElements.SortingCode();
    }

    /**
     * Create an instance of {@link LargeMailUserType.LargeMailUserName }
     * 
     */
    public LargeMailUserType.LargeMailUserName createLargeMailUserTypeLargeMailUserName() {
        return new LargeMailUserType.LargeMailUserName();
    }

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

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

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

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

    /**
     * Create an instance of {@link Premise.PremiseName }
     * 
     */
    public Premise.PremiseName createPremisePremiseName() {
        return new Premise.PremiseName();
    }

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

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

    /**
     * Create an instance of {@link Department.DepartmentName }
     * 
     */
    public Department.DepartmentName createDepartmentDepartmentName() {
        return new Department.DepartmentName();
    }

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

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

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

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

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

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressLongitude }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressLongitude createAddressDetailsPostalServiceElementsAddressLongitude() {
        return new AddressDetails.PostalServiceElements.AddressLongitude();
    }

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

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

    /**
     * Create an instance of {@link Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom }
     * 
     */
    public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom createThoroughfareThoroughfareNumberRangeThoroughfareNumberFrom() {
        return new Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom();
    }

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

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

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

    /**
     * Create an instance of {@link AddressDetails.Address }
     * 
     */
    public AddressDetails.Address createAddressDetailsAddress() {
        return new AddressDetails.Address();
    }

    /**
     * Create an instance of {@link PostalRouteType.PostalRouteName }
     * 
     */
    public PostalRouteType.PostalRouteName createPostalRouteTypePostalRouteName() {
        return new PostalRouteType.PostalRouteName();
    }

    /**
     * Create an instance of {@link PostalCode.PostalCodeNumber }
     * 
     */
    public PostalCode.PostalCodeNumber createPostalCodePostalCodeNumber() {
        return new PostalCode.PostalCodeNumber();
    }

    /**
     * Create an instance of {@link PostalCode.PostTown }
     * 
     */
    public PostalCode.PostTown createPostalCodePostTown() {
        return new PostalCode.PostTown();
    }

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

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

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

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.KeyLineCode }
     * 
     */
    public AddressDetails.PostalServiceElements.KeyLineCode createAddressDetailsPostalServiceElementsKeyLineCode() {
        return new AddressDetails.PostalServiceElements.KeyLineCode();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.SupplementaryPostalServiceData }
     * 
     */
    public AddressDetails.PostalServiceElements.SupplementaryPostalServiceData createAddressDetailsPostalServiceElementsSupplementaryPostalServiceData() {
        return new AddressDetails.PostalServiceElements.SupplementaryPostalServiceData();
    }

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

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

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Vec2Type }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "hotSpot")
    public JAXBElement<Vec2Type> createHotSpot(Vec2Type value) {
        return new JAXBElement<Vec2Type>(_HotSpot_QNAME, Vec2Type.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link CameraType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Camera", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractViewGroup")
    public JAXBElement<CameraType> createCamera(CameraType value) {
        return new JAXBElement<CameraType>(_Camera_QNAME, CameraType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AbstractFeatureType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "AbstractFeatureGroup", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<AbstractFeatureType> createAbstractFeatureGroup(AbstractFeatureType value) {
        return new JAXBElement<AbstractFeatureType>(_AbstractFeatureGroup_QNAME, AbstractFeatureType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ViewRefreshModeEnumType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "viewRefreshMode", defaultValue = "never")
    public JAXBElement<ViewRefreshModeEnumType> createViewRefreshMode(ViewRefreshModeEnumType value) {
        return new JAXBElement<ViewRefreshModeEnumType>(_ViewRefreshMode_QNAME, ViewRefreshModeEnumType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SnippetType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Snippet")
    public JAXBElement<SnippetType> createSnippet(SnippetType value) {
        return new JAXBElement<SnippetType>(_Snippet_QNAME, SnippetType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "viewBoundScale", defaultValue = "1.0")
    public JAXBElement<Double> createViewBoundScale(Double value) {
        return new JAXBElement<Double>(_ViewBoundScale_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SnippetType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "linkSnippet")
    public JAXBElement<SnippetType> createLinkSnippet(SnippetType value) {
        return new JAXBElement<SnippetType>(_LinkSnippet_QNAME, SnippetType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link GridOriginEnumType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "gridOrigin", defaultValue = "lowerLeft")
    public JAXBElement<GridOriginEnumType> createGridOrigin(GridOriginEnumType value) {
        return new JAXBElement<GridOriginEnumType>(_GridOrigin_QNAME, GridOriginEnumType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "maxFadeExtent", defaultValue = "0.0")
    public JAXBElement<Double> createMaxFadeExtent(Double value) {
        return new JAXBElement<Double>(_MaxFadeExtent_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AltitudeModeEnumType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "altitudeMode", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "altitudeModeGroup", defaultValue = "clampToGround")
    public JAXBElement<AltitudeModeEnumType> createAltitudeMode(AltitudeModeEnumType value) {
        return new JAXBElement<AltitudeModeEnumType>(_AltitudeMode_QNAME, AltitudeModeEnumType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "heading", defaultValue = "0.0")
    public JAXBElement<Double> createHeading(Double value) {
        return new JAXBElement<Double>(_Heading_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link MetadataType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Metadata")
    public JAXBElement<MetadataType> createMetadata(MetadataType value) {
        return new JAXBElement<MetadataType>(_Metadata_QNAME, MetadataType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "latitude", defaultValue = "0.0")
    public JAXBElement<Double> createLatitude(Double value) {
        return new JAXBElement<Double>(_Latitude_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link IconStyleType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "IconStyle", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractColorStyleGroup")
    public JAXBElement<IconStyleType> createIconStyle(IconStyleType value) {
        return new JAXBElement<IconStyleType>(_IconStyle_QNAME, IconStyleType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Vec2Type }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "rotationXY")
    public JAXBElement<Vec2Type> createRotationXY(Vec2Type value) {
        return new JAXBElement<Vec2Type>(_RotationXY_QNAME, Vec2Type.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "cookie")
    public JAXBElement<String> createCookie(String value) {
        return new JAXBElement<String>(_Cookie_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "minFadeExtent", defaultValue = "0.0")
    public JAXBElement<Double> createMinFadeExtent(Double value) {
        return new JAXBElement<Double>(_MinFadeExtent_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AbstractObjectType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "AbstractObjectGroup")
    public JAXBElement<AbstractObjectType> createAbstractObjectGroup(AbstractObjectType value) {
        return new JAXBElement<AbstractObjectType>(_AbstractObjectGroup_QNAME, AbstractObjectType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "styleUrl")
    public JAXBElement<String> createStyleUrl(String value) {
        return new JAXBElement<String>(_StyleUrl_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "maxAltitude", defaultValue = "0.0")
    public JAXBElement<Double> createMaxAltitude(Double value) {
        return new JAXBElement<Double>(_MaxAltitude_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "visibility", defaultValue = "1")
    public JAXBElement<Boolean> createVisibility(Boolean value) {
        return new JAXBElement<Boolean>(_Visibility_QNAME, Boolean.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "rightFov", defaultValue = "0.0")
    public JAXBElement<Double> createRightFov(Double value) {
        return new JAXBElement<Double>(_RightFov_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "tileSize", defaultValue = "256")
    public JAXBElement<Integer> createTileSize(Integer value) {
        return new JAXBElement<Integer>(_TileSize_QNAME, Integer.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "altitude", defaultValue = "0.0")
    public JAXBElement<Double> createAltitude(Double value) {
        return new JAXBElement<Double>(_Altitude_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ModelType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Model", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractGeometryGroup")
    public JAXBElement<ModelType> createModel(ModelType value) {
        return new JAXBElement<ModelType>(_Model_QNAME, ModelType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "href")
    public JAXBElement<String> createHref(String value) {
        return new JAXBElement<String>(_Href_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "maxLodPixels", defaultValue = "-1.0")
    public JAXBElement<Double> createMaxLodPixels(Double value) {
        return new JAXBElement<Double>(_MaxLodPixels_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AbstractSubStyleType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "AbstractSubStyleGroup", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<AbstractSubStyleType> createAbstractSubStyleGroup(AbstractSubStyleType value) {
        return new JAXBElement<AbstractSubStyleType>(_AbstractSubStyleGroup_QNAME, AbstractSubStyleType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link PointType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Point", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractGeometryGroup")
    public JAXBElement<PointType> createPoint(PointType value) {
        return new JAXBElement<PointType>(_Point_QNAME, PointType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "bottomFov", defaultValue = "0.0")
    public JAXBElement<Double> createBottomFov(Double value) {
        return new JAXBElement<Double>(_BottomFov_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Vec2Type }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "overlayXY")
    public JAXBElement<Vec2Type> createOverlayXY(Vec2Type value) {
        return new JAXBElement<Vec2Type>(_OverlayXY_QNAME, Vec2Type.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "topFov", defaultValue = "0.0")
    public JAXBElement<Double> createTopFov(Double value) {
        return new JAXBElement<Double>(_TopFov_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link LinkType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Url", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<LinkType> createUrl(LinkType value) {
        return new JAXBElement<LinkType>(_Url_QNAME, LinkType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "phoneNumber")
    public JAXBElement<String> createPhoneNumber(String value) {
        return new JAXBElement<String>(_PhoneNumber_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "rotation", defaultValue = "0.0")
    public JAXBElement<Double> createRotation(Double value) {
        return new JAXBElement<Double>(_Rotation_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "open", defaultValue = "0")
    public JAXBElement<Boolean> createOpen(Boolean value) {
        return new JAXBElement<Boolean>(_Open_QNAME, Boolean.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link DataType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Data", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<DataType> createData(DataType value) {
        return new JAXBElement<DataType>(_Data_QNAME, DataType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "expires")
    public JAXBElement<String> createExpires(String value) {
        return new JAXBElement<String>(_Expires_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "roll", defaultValue = "0.0")
    public JAXBElement<Double> createRoll(Double value) {
        return new JAXBElement<Double>(_Roll_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AbstractOverlayType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "AbstractOverlayGroup", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractFeatureGroup")
    public JAXBElement<AbstractOverlayType> createAbstractOverlayGroup(AbstractOverlayType value) {
        return new JAXBElement<AbstractOverlayType>(_AbstractOverlayGroup_QNAME, AbstractOverlayType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ExtendedDataType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "ExtendedData")
    public JAXBElement<ExtendedDataType> createExtendedData(ExtendedDataType value) {
        return new JAXBElement<ExtendedDataType>(_ExtendedData_QNAME, ExtendedDataType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link TimeSpanType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "TimeSpan", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractTimePrimitiveGroup")
    public JAXBElement<TimeSpanType> createTimeSpan(TimeSpanType value) {
        return new JAXBElement<TimeSpanType>(_TimeSpan_QNAME, TimeSpanType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link LineStringType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "LineString", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractGeometryGroup")
    public JAXBElement<LineStringType> createLineString(LineStringType value) {
        return new JAXBElement<LineStringType>(_LineString_QNAME, LineStringType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "tilt", defaultValue = "0.0")
    public JAXBElement<Double> createTilt(Double value) {
        return new JAXBElement<Double>(_Tilt_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SchemaType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Schema")
    public JAXBElement<SchemaType> createSchema(SchemaType value) {
        return new JAXBElement<SchemaType>(_Schema_QNAME, SchemaType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SchemaDataType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "SchemaData", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<SchemaDataType> createSchemaData(SchemaDataType value) {
        return new JAXBElement<SchemaDataType>(_SchemaData_QNAME, SchemaDataType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link OrientationType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Orientation", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<OrientationType> createOrientation(OrientationType value) {
        return new JAXBElement<OrientationType>(_Orientation_QNAME, OrientationType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "textColor", defaultValue = "ff000000")
    @XmlJavaTypeAdapter(HexBinaryAdapter.class)
    public JAXBElement<byte[]> createTextColor(byte[] value) {
        return new JAXBElement<byte[]>(_TextColor_QNAME, byte[].class, null, ((byte[]) value));
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "z", defaultValue = "1.0")
    public JAXBElement<Double> createZ(Double value) {
        return new JAXBElement<Double>(_Z_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ImagePyramidType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "ImagePyramid", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<ImagePyramidType> createImagePyramid(ImagePyramidType value) {
        return new JAXBElement<ImagePyramidType>(_ImagePyramid_QNAME, ImagePyramidType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "x", defaultValue = "1.0")
    public JAXBElement<Double> createX(Double value) {
        return new JAXBElement<Double>(_X_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "targetHref")
    public JAXBElement<String> createTargetHref(String value) {
        return new JAXBElement<String>(_TargetHref_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "y", defaultValue = "1.0")
    public JAXBElement<Double> createY(Double value) {
        return new JAXBElement<Double>(_Y_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "south", defaultValue = "-180.0")
    public JAXBElement<Double> createSouth(Double value) {
        return new JAXBElement<Double>(_South_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link LabelStyleType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "LabelStyle", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractColorStyleGroup")
    public JAXBElement<LabelStyleType> createLabelStyle(LabelStyleType value) {
        return new JAXBElement<LabelStyleType>(_LabelStyle_QNAME, LabelStyleType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link LatLonBoxType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "LatLonBox", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<LatLonBoxType> createLatLonBox(LatLonBoxType value) {
        return new JAXBElement<LatLonBoxType>(_LatLonBox_QNAME, LatLonBoxType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "httpQuery")
    public JAXBElement<String> createHttpQuery(String value) {
        return new JAXBElement<String>(_HttpQuery_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link TimeStampType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "TimeStamp", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractTimePrimitiveGroup")
    public JAXBElement<TimeStampType> createTimeStamp(TimeStampType value) {
        return new JAXBElement<TimeStampType>(_TimeStamp_QNAME, TimeStampType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link PolygonType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Polygon", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractGeometryGroup")
    public JAXBElement<PolygonType> createPolygon(PolygonType value) {
        return new JAXBElement<PolygonType>(_Polygon_QNAME, PolygonType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link LinkType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Link", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<LinkType> createLink(LinkType value) {
        return new JAXBElement<LinkType>(_Link_QNAME, LinkType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "outline", defaultValue = "1")
    public JAXBElement<Boolean> createOutline(Boolean value) {
        return new JAXBElement<Boolean>(_Outline_QNAME, Boolean.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ListItemTypeEnumType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "listItemType", defaultValue = "check")
    public JAXBElement<ListItemTypeEnumType> createListItemType(ListItemTypeEnumType value) {
        return new JAXBElement<ListItemTypeEnumType>(_ListItemType_QNAME, ListItemTypeEnumType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link PhotoOverlayType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "PhotoOverlay", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractOverlayGroup")
    public JAXBElement<PhotoOverlayType> createPhotoOverlay(PhotoOverlayType value) {
        return new JAXBElement<PhotoOverlayType>(_PhotoOverlay_QNAME, PhotoOverlayType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "range", defaultValue = "0.0")
    public JAXBElement<Double> createRange(Double value) {
        return new JAXBElement<Double>(_Range_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link PairType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Pair", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<PairType> createPair(PairType value) {
        return new JAXBElement<PairType>(_Pair_QNAME, PairType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "flyToView", defaultValue = "0")
    public JAXBElement<Boolean> createFlyToView(Boolean value) {
        return new JAXBElement<Boolean>(_FlyToView_QNAME, Boolean.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "refreshInterval", defaultValue = "4.0")
    public JAXBElement<Double> createRefreshInterval(Double value) {
        return new JAXBElement<Double>(_RefreshInterval_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "viewFormat")
    public JAXBElement<String> createViewFormat(String value) {
        return new JAXBElement<String>(_ViewFormat_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ListStyleType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "ListStyle", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractSubStyleGroup")
    public JAXBElement<ListStyleType> createListStyle(ListStyleType value) {
        return new JAXBElement<ListStyleType>(_ListStyle_QNAME, ListStyleType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "minLodPixels", defaultValue = "0.0")
    public JAXBElement<Double> createMinLodPixels(Double value) {
        return new JAXBElement<Double>(_MinLodPixels_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "end")
    public JAXBElement<String> createEnd(String value) {
        return new JAXBElement<String>(_End_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ColorModeEnumType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "colorMode", defaultValue = "normal")
    public JAXBElement<ColorModeEnumType> createColorMode(ColorModeEnumType value) {
        return new JAXBElement<ColorModeEnumType>(_ColorMode_QNAME, ColorModeEnumType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link RefreshModeEnumType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "refreshMode", defaultValue = "onChange")
    public JAXBElement<RefreshModeEnumType> createRefreshMode(RefreshModeEnumType value) {
        return new JAXBElement<RefreshModeEnumType>(_RefreshMode_QNAME, RefreshModeEnumType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link CreateType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Create")
    public JAXBElement<CreateType> createCreate(CreateType value) {
        return new JAXBElement<CreateType>(_Create_QNAME, CreateType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "extrude", defaultValue = "0")
    public JAXBElement<Boolean> createExtrude(Boolean value) {
        return new JAXBElement<Boolean>(_Extrude_QNAME, Boolean.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Vec2Type }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "size")
    public JAXBElement<Vec2Type> createSize(Vec2Type value) {
        return new JAXBElement<Vec2Type>(_Size_QNAME, Vec2Type.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link DisplayModeEnumType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "displayMode", defaultValue = "default")
    public JAXBElement<DisplayModeEnumType> createDisplayMode(DisplayModeEnumType value) {
        return new JAXBElement<DisplayModeEnumType>(_DisplayMode_QNAME, DisplayModeEnumType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link LookAtType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "LookAt", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractViewGroup")
    public JAXBElement<LookAtType> createLookAt(LookAtType value) {
        return new JAXBElement<LookAtType>(_LookAt_QNAME, LookAtType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ShapeEnumType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "shape", defaultValue = "rectangle")
    public JAXBElement<ShapeEnumType> createShape(ShapeEnumType value) {
        return new JAXBElement<ShapeEnumType>(_Shape_QNAME, ShapeEnumType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link BoundaryType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "outerBoundaryIs")
    public JAXBElement<BoundaryType> createOuterBoundaryIs(BoundaryType value) {
        return new JAXBElement<BoundaryType>(_OuterBoundaryIs_QNAME, BoundaryType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link StyleMapType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "StyleMap", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractStyleSelectorGroup")
    public JAXBElement<StyleMapType> createStyleMap(StyleMapType value) {
        return new JAXBElement<StyleMapType>(_StyleMap_QNAME, StyleMapType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AbstractColorStyleType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "AbstractColorStyleGroup", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractSubStyleGroup")
    public JAXBElement<AbstractColorStyleType> createAbstractColorStyleGroup(AbstractColorStyleType value) {
        return new JAXBElement<AbstractColorStyleType>(_AbstractColorStyleGroup_QNAME, AbstractColorStyleType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ChangeType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Change")
    public JAXBElement<ChangeType> createChange(ChangeType value) {
        return new JAXBElement<ChangeType>(_Change_QNAME, ChangeType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "width", defaultValue = "1.0")
    public JAXBElement<Double> createWidth(Double value) {
        return new JAXBElement<Double>(_Width_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link PolyStyleType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "PolyStyle", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractColorStyleGroup")
    public JAXBElement<PolyStyleType> createPolyStyle(PolyStyleType value) {
        return new JAXBElement<PolyStyleType>(_PolyStyle_QNAME, PolyStyleType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "text")
    public JAXBElement<String> createText(String value) {
        return new JAXBElement<String>(_Text_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "minAltitude", defaultValue = "0.0")
    public JAXBElement<Double> createMinAltitude(Double value) {
        return new JAXBElement<Double>(_MinAltitude_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link GroundOverlayType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "GroundOverlay", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractOverlayGroup")
    public JAXBElement<GroundOverlayType> createGroundOverlay(GroundOverlayType value) {
        return new JAXBElement<GroundOverlayType>(_GroundOverlay_QNAME, GroundOverlayType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "west", defaultValue = "-180.0")
    public JAXBElement<Double> createWest(Double value) {
        return new JAXBElement<Double>(_West_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "viewRefreshTime", defaultValue = "4.0")
    public JAXBElement<Double> createViewRefreshTime(Double value) {
        return new JAXBElement<Double>(_ViewRefreshTime_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "maxHeight", defaultValue = "0")
    public JAXBElement<Integer> createMaxHeight(Integer value) {
        return new JAXBElement<Integer>(_MaxHeight_QNAME, Integer.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "linkDescription")
    public JAXBElement<String> createLinkDescription(String value) {
        return new JAXBElement<String>(_LinkDescription_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "near", defaultValue = "0.0")
    public JAXBElement<Double> createNear(Double value) {
        return new JAXBElement<Double>(_Near_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AddressDetails }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0", name = "AddressDetails")
    public JAXBElement<AddressDetails> createAddressDetails(AddressDetails value) {
        return new JAXBElement<AddressDetails>(_AddressDetails_QNAME, AddressDetails.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link BoundaryType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "innerBoundaryIs")
    public JAXBElement<BoundaryType> createInnerBoundaryIs(BoundaryType value) {
        return new JAXBElement<BoundaryType>(_InnerBoundaryIs_QNAME, BoundaryType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AtomPersonConstruct }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://www.w3.org/2005/Atom", name = "author")
    public JAXBElement<AtomPersonConstruct> createAuthor(AtomPersonConstruct value) {
        return new JAXBElement<AtomPersonConstruct>(_Author_QNAME, AtomPersonConstruct.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ResourceMapType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "ResourceMap", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<ResourceMapType> createResourceMap(ResourceMapType value) {
        return new JAXBElement<ResourceMapType>(_ResourceMap_QNAME, ResourceMapType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://www.w3.org/2005/Atom", name = "name")
    public JAXBElement<String> createName(String value) {
        return new JAXBElement<String>(_Name_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link LinearRingType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "LinearRing", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractGeometryGroup")
    public JAXBElement<LinearRingType> createLinearRing(LinearRingType value) {
        return new JAXBElement<LinearRingType>(_LinearRing_QNAME, LinearRingType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "drawOrder", defaultValue = "0")
    public JAXBElement<Integer> createDrawOrder(Integer value) {
        return new JAXBElement<Integer>(_DrawOrder_QNAME, Integer.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link StyleType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Style", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractStyleSelectorGroup")
    public JAXBElement<StyleType> createStyle(StyleType value) {
        return new JAXBElement<StyleType>(_Style_QNAME, StyleType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SimpleDataType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "SimpleData")
    public JAXBElement<SimpleDataType> createSimpleData(SimpleDataType value) {
        return new JAXBElement<SimpleDataType>(_SimpleData_QNAME, SimpleDataType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link NetworkLinkType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "NetworkLink", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractFeatureGroup")
    public JAXBElement<NetworkLinkType> createNetworkLink(NetworkLinkType value) {
        return new JAXBElement<NetworkLinkType>(_NetworkLink_QNAME, NetworkLinkType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link LineStyleType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "LineStyle", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractColorStyleGroup")
    public JAXBElement<LineStyleType> createLineStyle(LineStyleType value) {
        return new JAXBElement<LineStyleType>(_LineStyle_QNAME, LineStyleType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "maxSessionLength", defaultValue = "-1.0")
    public JAXBElement<Double> createMaxSessionLength(Double value) {
        return new JAXBElement<Double>(_MaxSessionLength_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link StyleStateEnumType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "key", defaultValue = "normal")
    public JAXBElement<StyleStateEnumType> createKey(StyleStateEnumType value) {
        return new JAXBElement<StyleStateEnumType>(_Key_QNAME, StyleStateEnumType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "value")
    public JAXBElement<String> createValue(String value) {
        return new JAXBElement<String>(_Value_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link KmlType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "kml")
    public JAXBElement<KmlType> createKml(KmlType value) {
        return new JAXBElement<KmlType>(_Kml_QNAME, KmlType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Integer }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "maxWidth", defaultValue = "0")
    public JAXBElement<Integer> createMaxWidth(Integer value) {
        return new JAXBElement<Integer>(_MaxWidth_QNAME, Integer.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ScaleType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Scale", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<ScaleType> createScale(ScaleType value) {
        return new JAXBElement<ScaleType>(_Scale_QNAME, ScaleType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link DeleteType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Delete")
    public JAXBElement<DeleteType> createDelete(DeleteType value) {
        return new JAXBElement<DeleteType>(_Delete_QNAME, DeleteType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "longitude", defaultValue = "0.0")
    public JAXBElement<Double> createLongitude(Double value) {
        return new JAXBElement<Double>(_Longitude_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ScreenOverlayType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "ScreenOverlay", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractOverlayGroup")
    public JAXBElement<ScreenOverlayType> createScreenOverlay(ScreenOverlayType value) {
        return new JAXBElement<ScreenOverlayType>(_ScreenOverlay_QNAME, ScreenOverlayType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "when")
    public JAXBElement<String> createWhen(String value) {
        return new JAXBElement<String>(_When_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link LatLonAltBoxType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "LatLonAltBox", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<LatLonAltBoxType> createLatLonAltBox(LatLonAltBoxType value) {
        return new JAXBElement<LatLonAltBoxType>(_LatLonAltBox_QNAME, LatLonAltBoxType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "description")
    public JAXBElement<String> createDescription(String value) {
        return new JAXBElement<String>(_Description_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "refreshVisibility", defaultValue = "0")
    public JAXBElement<Boolean> createRefreshVisibility(Boolean value) {
        return new JAXBElement<Boolean>(_RefreshVisibility_QNAME, Boolean.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "bgColor", defaultValue = "ffffffff")
    @XmlJavaTypeAdapter(HexBinaryAdapter.class)
    public JAXBElement<byte[]> createBgColor(byte[] value) {
        return new JAXBElement<byte[]>(_BgColor_QNAME, byte[].class, null, ((byte[]) value));
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "begin")
    public JAXBElement<String> createBegin(String value) {
        return new JAXBElement<String>(_Begin_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link LocationType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Location", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<LocationType> createLocation(LocationType value) {
        return new JAXBElement<LocationType>(_Location_QNAME, LocationType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "tessellate", defaultValue = "0")
    public JAXBElement<Boolean> createTessellate(Boolean value) {
        return new JAXBElement<Boolean>(_Tessellate_QNAME, Boolean.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://www.w3.org/2005/Atom", name = "email")
    public JAXBElement<String> createEmail(String value) {
        return new JAXBElement<String>(_Email_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "fill", defaultValue = "1")
    public JAXBElement<Boolean> createFill(Boolean value) {
        return new JAXBElement<Boolean>(_Fill_QNAME, Boolean.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link NetworkLinkControlType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "NetworkLinkControl")
    public JAXBElement<NetworkLinkControlType> createNetworkLinkControl(NetworkLinkControlType value) {
        return new JAXBElement<NetworkLinkControlType>(_NetworkLinkControl_QNAME, NetworkLinkControlType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link FolderType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Folder", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractContainerGroup")
    public JAXBElement<FolderType> createFolder(FolderType value) {
        return new JAXBElement<FolderType>(_Folder_QNAME, FolderType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link DocumentType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Document", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractContainerGroup")
    public JAXBElement<DocumentType> createDocument(DocumentType value) {
        return new JAXBElement<DocumentType>(_Document_QNAME, DocumentType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AbstractGeometryType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "AbstractGeometryGroup", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<AbstractGeometryType> createAbstractGeometryGroup(AbstractGeometryType value) {
        return new JAXBElement<AbstractGeometryType>(_AbstractGeometryGroup_QNAME, AbstractGeometryType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "leftFov", defaultValue = "0.0")
    public JAXBElement<Double> createLeftFov(Double value) {
        return new JAXBElement<Double>(_LeftFov_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "displayName")
    public JAXBElement<String> createDisplayName(String value) {
        return new JAXBElement<String>(_DisplayName_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link PlacemarkType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Placemark", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractFeatureGroup")
    public JAXBElement<PlacemarkType> createPlacemark(PlacemarkType value) {
        return new JAXBElement<PlacemarkType>(_Placemark_QNAME, PlacemarkType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link LinkType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Icon", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<LinkType> createIcon(LinkType value) {
        return new JAXBElement<LinkType>(_Icon_QNAME, LinkType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AbstractViewType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "AbstractViewGroup", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<AbstractViewType> createAbstractViewGroup(AbstractViewType value) {
        return new JAXBElement<AbstractViewType>(_AbstractViewGroup_QNAME, AbstractViewType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "address")
    public JAXBElement<String> createAddress(String value) {
        return new JAXBElement<String>(_Address_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "color", defaultValue = "ffffffff")
    @XmlJavaTypeAdapter(HexBinaryAdapter.class)
    public JAXBElement<byte[]> createColor(byte[] value) {
        return new JAXBElement<byte[]>(_Color_QNAME, byte[].class, null, ((byte[]) value));
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AliasType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Alias", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<AliasType> createAlias(AliasType value) {
        return new JAXBElement<AliasType>(_Alias_QNAME, AliasType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "message")
    public JAXBElement<String> createMessage(String value) {
        return new JAXBElement<String>(_Message_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://www.w3.org/2005/Atom", name = "uri")
    public JAXBElement<String> createUri(String value) {
        return new JAXBElement<String>(_Uri_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link List }{@code <}{@link ItemIconStateEnumType }{@code >}{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "state")
    public JAXBElement<List<ItemIconStateEnumType>> createState(List<ItemIconStateEnumType> value) {
        return new JAXBElement<List<ItemIconStateEnumType>>(_State_QNAME, ((Class) List.class), null, ((List<ItemIconStateEnumType> ) value));
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Vec2Type }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "screenXY")
    public JAXBElement<Vec2Type> createScreenXY(Vec2Type value) {
        return new JAXBElement<Vec2Type>(_ScreenXY_QNAME, Vec2Type.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "north", defaultValue = "180.0")
    public JAXBElement<Double> createNorth(Double value) {
        return new JAXBElement<Double>(_North_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ViewVolumeType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "ViewVolume", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<ViewVolumeType> createViewVolume(ViewVolumeType value) {
        return new JAXBElement<ViewVolumeType>(_ViewVolume_QNAME, ViewVolumeType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AbstractContainerType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "AbstractContainerGroup", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractFeatureGroup")
    public JAXBElement<AbstractContainerType> createAbstractContainerGroup(AbstractContainerType value) {
        return new JAXBElement<AbstractContainerType>(_AbstractContainerGroup_QNAME, AbstractContainerType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link UpdateType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Update")
    public JAXBElement<UpdateType> createUpdate(UpdateType value) {
        return new JAXBElement<UpdateType>(_Update_QNAME, UpdateType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AbstractTimePrimitiveType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "AbstractTimePrimitiveGroup", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<AbstractTimePrimitiveType> createAbstractTimePrimitiveGroup(AbstractTimePrimitiveType value) {
        return new JAXBElement<AbstractTimePrimitiveType>(_AbstractTimePrimitiveGroup_QNAME, AbstractTimePrimitiveType.class, null, value);
    }

    /**
     * Create an instance of {@link ScaleElement }}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "scale", defaultValue = "1.0")
    public ScaleElement createScaleElement(Double value) {
        return new ScaleElement(value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "minRefreshPeriod", defaultValue = "0.0")
    public JAXBElement<Double> createMinRefreshPeriod(Double value) {
        return new JAXBElement<Double>(_MinRefreshPeriod_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SimpleFieldType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "SimpleField")
    public JAXBElement<SimpleFieldType> createSimpleField(SimpleFieldType value) {
        return new JAXBElement<SimpleFieldType>(_SimpleField_QNAME, SimpleFieldType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ItemIconType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "ItemIcon", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<ItemIconType> createItemIcon(ItemIconType value) {
        return new JAXBElement<ItemIconType>(_ItemIcon_QNAME, ItemIconType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link AbstractStyleSelectorType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "AbstractStyleSelectorGroup", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<AbstractStyleSelectorType> createAbstractStyleSelectorGroup(AbstractStyleSelectorType value) {
        return new JAXBElement<AbstractStyleSelectorType>(_AbstractStyleSelectorGroup_QNAME, AbstractStyleSelectorType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link List }{@code <}{@link String }{@code >}{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "coordinates")
    public JAXBElement<List<String>> createCoordinates(List<String> value) {
        return new JAXBElement<List<String>>(_Coordinates_QNAME, ((Class) List.class), null, ((List<String> ) value));
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "linkName")
    public JAXBElement<String> createLinkName(String value) {
        return new JAXBElement<String>(_LinkName_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link MultiGeometryType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "MultiGeometry", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractGeometryGroup")
    public JAXBElement<MultiGeometryType> createMultiGeometry(MultiGeometryType value) {
        return new JAXBElement<MultiGeometryType>(_MultiGeometry_QNAME, MultiGeometryType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link BalloonStyleType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "BalloonStyle", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractSubStyleGroup")
    public JAXBElement<BalloonStyleType> createBalloonStyle(BalloonStyleType value) {
        return new JAXBElement<BalloonStyleType>(_BalloonStyle_QNAME, BalloonStyleType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Object }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "altitudeModeGroup")
    public JAXBElement<Object> createAltitudeModeGroup(Object value) {
        return new JAXBElement<Object>(_AltitudeModeGroup_QNAME, Object.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "sourceHref")
    public JAXBElement<String> createSourceHref(String value) {
        return new JAXBElement<String>(_SourceHref_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Double }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "east", defaultValue = "180.0")
    public JAXBElement<Double> createEast(Double value) {
        return new JAXBElement<Double>(_East_QNAME, Double.class, null, value);
    }

    /**
     * Create an instance of {@link NameElement }}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "name")
    public NameElement createNameElement(String value) {
        return new NameElement(value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link LodType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Lod", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<LodType> createLod(LodType value) {
        return new JAXBElement<LodType>(_Lod_QNAME, LodType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link RegionType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://earth.google.com/kml/2.2", name = "Region", substitutionHeadNamespace = "http://earth.google.com/kml/2.2", substitutionHeadName = "AbstractObjectGroup")
    public JAXBElement<RegionType> createRegion(RegionType value) {
        return new JAXBElement<RegionType>(_Region_QNAME, RegionType.class, null, value);
    }

}
