Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6 
// 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: 2013.03.04 at 03:49:29 PM IST 
//


package in.shop2020.feeds.products;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
import javax.xml.bind.annotation.adapters.NormalizedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;


/**
 * <p>Java class for anonymous complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="Rebate" type="{}RebateType" maxOccurs="2" minOccurs="0"/>
 *         &lt;element name="ProductType">
 *           &lt;complexType>
 *             &lt;complexContent>
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 &lt;choice>
 *                   &lt;element ref="{}Antenna"/>
 *                   &lt;element ref="{}AudioVideoAccessory"/>
 *                   &lt;element ref="{}AVFurniture"/>
 *                   &lt;element ref="{}BarCodeReader"/>
 *                   &lt;element ref="{}CEBinocular"/>
 *                   &lt;element ref="{}CECamcorder"/>
 *                   &lt;element ref="{}CameraBagsAndCases"/>
 *                   &lt;element ref="{}CEBattery"/>
 *                   &lt;element ref="{}CEBlankMedia"/>
 *                   &lt;element ref="{}CableOrAdapter"/>
 *                   &lt;element ref="{}CECameraFlash"/>
 *                   &lt;element ref="{}CameraLenses"/>
 *                   &lt;element ref="{}CameraOtherAccessories"/>
 *                   &lt;element ref="{}CameraPowerSupply"/>
 *                   &lt;element ref="{}CarAlarm"/>
 *                   &lt;element ref="{}CarAudioOrTheater"/>
 *                   &lt;element ref="{}CarElectronics"/>
 *                   &lt;element ref="{}ConsumerElectronics"/>
 *                   &lt;element ref="{}CEDigitalCamera"/>
 *                   &lt;element ref="{}DigitalPictureFrame"/>
 *                   &lt;element ref="{}DigitalVideoRecorder"/>
 *                   &lt;element ref="{}DVDPlayerOrRecorder"/>
 *                   &lt;element ref="{}CEFilmCamera"/>
 *                   &lt;element ref="{}GPSOrNavigationAccessory"/>
 *                   &lt;element ref="{}GPSOrNavigationSystem"/>
 *                   &lt;element ref="{}HandheldOrPDA"/>
 *                   &lt;element ref="{}Headphones"/>
 *                   &lt;element ref="{}HomeTheaterSystemOrHTIB"/>
 *                   &lt;element ref="{}KindleAccessories"/>
 *                   &lt;element ref="{}KindleEReaderAccessories"/>
 *                   &lt;element ref="{}KindleFireAccessories"/>
 *                   &lt;element ref="{}MediaPlayer"/>
 *                   &lt;element ref="{}MediaPlayerOrEReaderAccessory"/>
 *                   &lt;element ref="{}MediaStorage"/>
 *                   &lt;element ref="{}MiscAudioComponents"/>
 *                   &lt;element ref="{}PC"/>
 *                   &lt;element ref="{}PDA"/>
 *                   &lt;element ref="{}Phone"/>
 *                   &lt;element ref="{}PhoneAccessory"/>
 *                   &lt;element ref="{}PhotographicStudioItems"/>
 *                   &lt;element ref="{}PortableAudio"/>
 *                   &lt;element ref="{}PortableAvDevice"/>
 *                   &lt;element ref="{}PowerSuppliesOrProtection"/>
 *                   &lt;element ref="{}RadarDetector"/>
 *                   &lt;element ref="{}RadioOrClockRadio"/>
 *                   &lt;element ref="{}ReceiverOrAmplifier"/>
 *                   &lt;element ref="{}RemoteControl"/>
 *                   &lt;element ref="{}Speakers"/>
 *                   &lt;element ref="{}StereoShelfSystem"/>
 *                   &lt;element ref="{}CETelescope"/>
 *                   &lt;element ref="{}Television"/>
 *                   &lt;element ref="{}Tuner"/>
 *                   &lt;element ref="{}TVCombos"/>
 *                   &lt;element ref="{}TwoWayRadio"/>
 *                   &lt;element ref="{}VCR"/>
 *                   &lt;element ref="{}CEVideoProjector"/>
 *                   &lt;element ref="{}VideoProjectorsAndAccessories"/>
 *                 &lt;/choice>
 *               &lt;/restriction>
 *             &lt;/complexContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *         &lt;element name="ProductSubtype" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;enumeration value="Antenna"/>
 *               &lt;enumeration value="AVFurniture"/>
 *               &lt;enumeration value="BarCodeReader"/>
 *               &lt;enumeration value="CEBinocular"/>
 *               &lt;enumeration value="CECamcorder"/>
 *               &lt;enumeration value="CameraBagsAndCases"/>
 *               &lt;enumeration value="Battery"/>
 *               &lt;enumeration value="BlankMedia"/>
 *               &lt;enumeration value="CableOrAdapter"/>
 *               &lt;enumeration value="CECameraFlash"/>
 *               &lt;enumeration value="CameraLenses"/>
 *               &lt;enumeration value="CameraOtherAccessories"/>
 *               &lt;enumeration value="CameraPowerSupply"/>
 *               &lt;enumeration value="CarAudioOrTheater"/>
 *               &lt;enumeration value="CarElectronics"/>
 *               &lt;enumeration value="CEDigitalCamera"/>
 *               &lt;enumeration value="DigitalPictureFrame"/>
 *               &lt;enumeration value="CECarryingCaseOrBag"/>
 *               &lt;enumeration value="CombinedAvDevice"/>
 *               &lt;enumeration value="Computer"/>
 *               &lt;enumeration value="ComputerDriveOrStorage"/>
 *               &lt;enumeration value="ComputerProcessor"/>
 *               &lt;enumeration value="ComputerVideoGameController"/>
 *               &lt;enumeration value="DigitalVideoRecorder"/>
 *               &lt;enumeration value="DVDPlayerOrRecorder"/>
 *               &lt;enumeration value="CEFilmCamera"/>
 *               &lt;enumeration value="FlashMemory"/>
 *               &lt;enumeration value="GPSOrNavigationAccessory"/>
 *               &lt;enumeration value="GPSOrNavigationSystem"/>
 *               &lt;enumeration value="HandheldOrPDA"/>
 *               &lt;enumeration value="HomeTheaterSystemOrHTIB"/>
 *               &lt;enumeration value="Keyboards"/>
 *               &lt;enumeration value="MemoryReader"/>
 *               &lt;enumeration value="Microphone"/>
 *               &lt;enumeration value="Monitor"/>
 *               &lt;enumeration value="MP3Player"/>
 *               &lt;enumeration value="MultifunctionOfficeMachine"/>
 *               &lt;enumeration value="NetworkAdapter"/>
 *               &lt;enumeration value="NetworkMediaPlayer"/>
 *               &lt;enumeration value="NetworkStorage"/>
 *               &lt;enumeration value="NetworkTransceiver"/>
 *               &lt;enumeration value="NetworkingDevice"/>
 *               &lt;enumeration value="NetworkingHub"/>
 *               &lt;enumeration value="Phone"/>
 *               &lt;enumeration value="PhoneAccessory"/>
 *               &lt;enumeration value="PhotographicStudioItems"/>
 *               &lt;enumeration value="PointingDevice"/>
 *               &lt;enumeration value="PortableAudio"/>
 *               &lt;enumeration value="PortableAvDevice"/>
 *               &lt;enumeration value="PortableElectronics"/>
 *               &lt;enumeration value="Printer"/>
 *               &lt;enumeration value="PrinterConsumable"/>
 *               &lt;enumeration value="ReceiverOrAmplifier"/>
 *               &lt;enumeration value="RemoteControl"/>
 *               &lt;enumeration value="SatelliteOrDSS"/>
 *               &lt;enumeration value="Scanner"/>
 *               &lt;enumeration value="SoundCard"/>
 *               &lt;enumeration value="Speakers"/>
 *               &lt;enumeration value="CETelescope"/>
 *               &lt;enumeration value="SystemCabinet"/>
 *               &lt;enumeration value="SystemPowerDevice"/>
 *               &lt;enumeration value="Television"/>
 *               &lt;enumeration value="TwoWayRadio"/>
 *               &lt;enumeration value="VCR"/>
 *               &lt;enumeration value="VideoCard"/>
 *               &lt;enumeration value="VideoProjector"/>
 *               &lt;enumeration value="VideoProjectorsAndAccessories"/>
 *               &lt;enumeration value="Webcam"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="AnalogVideoFormat" type="{}StringNotNull" maxOccurs="2" minOccurs="0"/>
 *         &lt;element name="AnnualEnergyConsumption" type="{}EnergyConsumptionDimension" minOccurs="0"/>
 *         &lt;element name="AnsweringSystemType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="AntennaLength" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="AntennaType" type="{}AntennaTypeValues" minOccurs="0"/>
 *         &lt;element name="AspectRatio" type="{}AspectRatio" minOccurs="0"/>
 *         &lt;element name="AudioFeaturesDescription" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="AudioInput" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="AudioOutputEffects" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="AudioOutputMode" type="{}StringNotNull" maxOccurs="2" minOccurs="0"/>
 *         &lt;element name="AudioOutputResponseBandwidth" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="AudioOutputType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="AudioSensitivity" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="AutoRedial" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element ref="{}Battery" minOccurs="0"/>
 *         &lt;element name="BatteryAverageLife" type="{}TimeDimension" minOccurs="0"/>
 *         &lt;element name="BatteryAverageLifeTalkTime" type="{}TimeDimension" minOccurs="0"/>
 *         &lt;element name="BufferSize" type="{}MemorySizeDimension" minOccurs="0"/>
 *         &lt;element name="BatteryTypeLithiumIon" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="BatteryTypeLithiumMetal" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="BiometricSecurityFeatures" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="BuiltInDecoders" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="ButtonQuantity" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="CabinetMaterial" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="CableFeature" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="CableTechnology" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="CableType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="CacheMemoryInstalledSize" type="{}MemorySizeDimension" minOccurs="0"/>
 *         &lt;element name="CallAlerts" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="CallerIdentification" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="CarryingStrap" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="CassetteSystemType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="CDChangerType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="CDDiskCapacity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="CDLoadType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="CDPlaybackMode" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="CDSystemType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="CellularEnhancementProtocol" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="CoaxialDigitalInput" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="CoaxialDigitalOutput" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="Color" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ColorDepth" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="ColorMap" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ColorSupport" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="CompatibleCartridge" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="CompatibleDevices" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="ComponentType" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="CompressedCapacity" type="{}MemorySizeDimension" minOccurs="0"/>
 *         &lt;element name="ComputerPeripheralConnector" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="ConferenceCallCapability" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ConnectivityProtocol" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="ConnectivityTechnology" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="CopierType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="CopySizeMaximum" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="CountryOfOrigin" type="{}CountryOfOriginType" minOccurs="0"/>
 *         &lt;element name="CrossoverFrequency" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DACDataWidth" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DataCompressionProtocol" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="DataLinkProtocol" type="{}MediumStringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="DataService" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DataStorageCapability" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DataTransferRate" minOccurs="0">
 *           &lt;complexType>
 *             &lt;simpleContent>
 *               &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>nonNegativeInteger">
 *                 &lt;attribute name="unitOfMeasure" use="required" type="{}DataTransferUnitOfMeasure" />
 *               &lt;/extension>
 *             &lt;/simpleContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *         &lt;element name="DeviceType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DGPS" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DialerType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DigitalPlayerType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DigitalRecordingTime" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="DigitalSignalingProtocol" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="DigitalStorageCapacity" type="{}MemorySizeDimension" minOccurs="0"/>
 *         &lt;element name="DigitalZoom" type="{}ZoomDimension" minOccurs="0"/>
 *         &lt;element name="DisplayColorSupport" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="DisplayLanguageOptions" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DisplayLineQuantity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="DisplayResolutionMaximum" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DisplayTechnology" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DisplayType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DockingStationExternalInterface" type="{}DockingStationExternalInterfaceTypeValues" minOccurs="0"/>
 *         &lt;element name="DriveUnits" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="Duplex" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DVDDiskCapacity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="DVDDiskChangerType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DVDMediaLoadType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DVDPictureZoomPower" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="DVDPlaybackMode" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="DVDType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DVRCompressionRate" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="DVRMaxRecordingTime" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="DVRServiceDescription" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="Enclosure" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="Equalizer" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="EqualizerBandChannels" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ErrorCorrectionProtocol" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="EyeRelief" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="FaceplateType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="FaxMachineCompatibility" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="FaxType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="FlashMemoryInstalledSize" type="{}MemorySizeDimension" minOccurs="0"/>
 *         &lt;element name="FloppyDiskDrive" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;enumeration value="1_44_mb_3_5_inch"/>
 *               &lt;enumeration value="720_kb_3_5_inch"/>
 *               &lt;enumeration value="floppy_cd_drive_combo"/>
 *               &lt;enumeration value="floppy_cd_rw_dvd_rom_combo"/>
 *               &lt;enumeration value="floppy_dvd_drive_combo"/>
 *               &lt;enumeration value="ls_120_superdisk"/>
 *               &lt;enumeration value="none"/>
 *               &lt;enumeration value="unknown"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="FormFactor" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="FreeAirResonantFrequency" type="{}FrequencyDimension" minOccurs="0"/>
 *         &lt;element name="FrequencyRange" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="FrequencyRequired" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="FrequencyResponseCurve" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="FrontAccessibleBaysQuantity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="FuseDescription" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="GPSNavigation" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="GraphicsCoprocessor" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="GraphicsCoprocessorQuantity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="GraphicsRam" type="{}Dimension" minOccurs="0"/>
 *         &lt;element name="GreyscaleDepth" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="HandsetDepth" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="HandsetHeight" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="HandsetLocator" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="HandsetWeight" type="{}WeightDimension" minOccurs="0"/>
 *         &lt;element name="HandsetWidth" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="HardDiskDescription" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="HardDiskInstalledQuantity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="HardDiskRotationalSpeed" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="HardwareInterface" type="{}HardwareInterfaceValues" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="HasCommercialSkip" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="HasDVDPictureZoom" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="HasParentalChannelLock" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="HeadphonesFormFactor" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="HeadphonesJack" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="HeadphonesTechnology" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="HorizontalResolution" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="HotSwapBaysQuantity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="HumanInterfaceInput" type="{}HumanInterfaceInputType" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="HumanInterfaceOutput" type="{}HumanInterfaceOutputType" minOccurs="0"/>
 *         &lt;element name="ImageAspectRatio" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="ImageBrightness" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ImageContrastRatio" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="Impedance" type="{}ResistanceDimension" minOccurs="0"/>
 *         &lt;element name="IncludesMP3Player" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="IncludesRechargableBattery" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="IncludesRemote" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="IncludesSpeakerphone" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="InputAdapter" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="InputChannelQuantity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="InputConnection" type="{}Connection" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="InputConnectorType" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="InputDevice" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="InputDeviceInterface" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="Intercom" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="InternalBaysQuantity" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="ISDNTerminalAdapterInterface" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="IsHDTVCompatible" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="IsWaterproof" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="ItemDisplayDepth" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="ItemDisplayHeight" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="ItemDisplayLength" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="ItemDisplayLengthMaximum" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="ItemDisplayWeight" type="{}WeightDimension" minOccurs="0"/>
 *         &lt;element name="ItemDisplayWidth" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="LithiumBatteryEnergyContent" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
 *         &lt;element name="LithiumBatteryPackaging" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *               &lt;enumeration value="batteries_contained_in_equipment"/>
 *               &lt;enumeration value="batteries_only"/>
 *               &lt;enumeration value="batteries_packed_with_equipment"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="LithiumBatteryVoltage" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
 *         &lt;element name="LithiumBatteryWeight" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
 *         &lt;element name="KeyboardDescription" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="LampType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="LeftConnectorGender" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="LeftConnectorType" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="ManufacturerWarrantyType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="MapType" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="MaterialComposition" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="MaterialType" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="MaxCopyResolutionBlackWhite" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="MaxCopyResolutionColor" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="MaximumBridgedOutputPower" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="MaximumExternalResolution" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="MaximumImageSize" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="MaximumLinearPeakExcursion" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="MaximumOutputPower" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="MaximumRange" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="MaximumRangeIndoors" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="MaximumSampleRate" type="{}FrequencyDimension" minOccurs="0"/>
 *         &lt;element name="MaximumScreenDistance" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="MaxInputSheetCapacity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="MaxPrintResolutionBlackWhite" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="MaxPrintResolutionColor" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="MediaFormat" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="MediaLoadType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="MediaSizeMaximum" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="MediaType" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="MemoryStorageCapacity" type="{}MemorySizeDimension" minOccurs="0"/>
 *         &lt;element name="MemoryTechnology" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="MfgWarrantyDescriptionLabor" type="{}SuperLongStringNotNull" minOccurs="0"/>
 *         &lt;element name="MfgWarrantyDescriptionParts" type="{}SuperLongStringNotNull" minOccurs="0"/>
 *         &lt;element name="MicrophoneFormFactor" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="MicrophoneOperationMode" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="MicrophoneTechnology" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="MiniDiscSystem" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="MinimumImageSize" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="MinimumScreenDistance" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="MinimumSystemRequirementDescription" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="Model" type="{}FortyStringNotNull" minOccurs="0"/>
 *         &lt;element name="ModelName" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ModemDescription" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ModemInterface" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ModemType" type="{}ModemTypeValues" minOccurs="0"/>
 *         &lt;element name="MonthlyDutyCycle" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="MountingHoleDiameter" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="MovementDetectionTechnology" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="MultilineOperation" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="MultimediaFunctionality" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="NavigationRoutes" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="NetworkingFeature" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="NetworkInterfaceDescription" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="NumberOfLithiumIonCells" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="NumberOfLithiumMetalCells" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="NumberOfPorts" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="NumberOfSupportedZones" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="ObjectiveLensDiameter" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="OperatingHumidity" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="OpticalDigitalInput" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="OpticalDigitalOutput" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="OpticalSensorInterpolatedResolution" type="{}PixelDimension" minOccurs="0"/>
 *         &lt;element name="OpticalSensorResolution" type="{}PixelDimension" minOccurs="0"/>
 *         &lt;element name="OpticalStorageDevice" type="{}StringNotNull" maxOccurs="2" minOccurs="0"/>
 *         &lt;element name="OpticalStorageInstalledQuantity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="OpticalStorageReadSpeed" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="OpticalStorageRewriteSpeed" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="OpticalStorageSecondaryReadSpeed" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="OpticalStorageSecondaryRewriteSpeed" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="OpticalStorageSecondaryType" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="OpticalStorageSecondaryWriteSpeed" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="OpticalStorageWriteSpeed" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="OutputChannelQuantity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="OutputConnection" type="{}Connection" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="OutputConnectorQuantity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="OutputConnectorType" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="OutputPower" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="OutputWattage" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="PackageContentType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="PackageTypeName" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="PCConnectionAvailable" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="PhoneBaseDepth" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="PhoneBaseHeight" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="PhoneBaseWeight" type="{}WeightDimension" minOccurs="0"/>
 *         &lt;element name="PhoneBaseWidth" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="PortedBoxVolume" minOccurs="0">
 *           &lt;complexType>
 *             &lt;simpleContent>
 *               &lt;extension base="&lt;>StringNotNull">
 *                 &lt;attribute name="unitOfMeasure" use="required" type="{}VolumeUnitOfMeasure" />
 *               &lt;/extension>
 *             &lt;/simpleContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *         &lt;element name="PowerAmplifierClass" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="PowerDevice" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="PowerGain" type="{}VoltageIntegerDimension" minOccurs="0"/>
 *         &lt;element name="PowerLoadRating" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="PreampOutputChannels" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="PresetChannelQuantity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="PrinterInterface" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="PrinterOutput" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="PrinterResolutionBWHorizontalMax" type="{}PixelDimension" minOccurs="0"/>
 *         &lt;element name="PrinterResolutionBWVerticalMax" type="{}PixelDimension" minOccurs="0"/>
 *         &lt;element name="PrinterResolutionColorHorizontalMax" type="{}PixelDimension" minOccurs="0"/>
 *         &lt;element name="PrinterResolutionColorVerticalMax" type="{}PixelDimension" minOccurs="0"/>
 *         &lt;element name="PrinterTechnology" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ProcessorDescription" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ProcessorMaximum" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="ProcessorModelNumber" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ProcessorUpgrade" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="Programmability" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="QtsTotalQFactor" type="{}PositiveDimension" minOccurs="0"/>
 *         &lt;element name="RadioBandsSupported" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="RadioChannels" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="RAIDLevel" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="RAMMemoryInstalledSize" type="{}MemorySizeDimension" minOccurs="0"/>
 *         &lt;element name="RAMMemoryMaximumSize" type="{}MemorySizeDimension" minOccurs="0"/>
 *         &lt;element name="RAMMemoryTechnology" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="RangefinderType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ReceiverDescription" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="RecordingCapacity" type="{}MemorySizeDimension" minOccurs="0"/>
 *         &lt;element name="RemoteControlAudioControls" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="RemoteControlDescription" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="RemoteControlTechnology" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="RemoteManagementProtocol" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="RemovableMediaCapacity" type="{}MemorySizeDimension" minOccurs="0"/>
 *         &lt;element name="RemovableMemory" type="{}RemovableMemoryValues" minOccurs="0"/>
 *         &lt;element name="RemovableStorage" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="RemovableStorageInterface" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="RemovableStorageNativeCapacity" type="{}MemorySizeDimension" minOccurs="0"/>
 *         &lt;element name="ResponseTime" type="{}TimeDimension" minOccurs="0"/>
 *         &lt;element name="RightConnectorGender" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="RightConnectorType" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="RoutingProtocol" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="SatelliteServiceDescription" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="SBAS" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="ScanElementType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ScannerInterface" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="ScannerType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SCSISignalingType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SealedBoxVolume" minOccurs="0">
 *           &lt;complexType>
 *             &lt;simpleContent>
 *               &lt;extension base="&lt;>StringNotNull">
 *                 &lt;attribute name="unitOfMeasure" use="required" type="{}VolumeUnitOfMeasure" />
 *               &lt;/extension>
 *             &lt;/simpleContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *         &lt;element name="SearchSpeed" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="SecondaryCache" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="SignalToNoiseRatio" type="{}PositiveDimension" minOccurs="0"/>
 *         &lt;element name="Size" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SpeakerAmplificationType" type="{}HundredString" minOccurs="0"/>
 *         &lt;element name="SpeakerConnectivity" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SpeakerDriverMaterial" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SpeakersCrossoverChannelQuantity" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="SpeakersIncludedDescription" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SpeakersMaximumOutputPower" type="{}PositiveDimension" minOccurs="0"/>
 *         &lt;element name="SpeakersNominalOutputPower" type="{}PositiveDimension" minOccurs="0"/>
 *         &lt;element name="SpeakersResponseBandwidth" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SpeakerSystemClass" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SpeakerType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SpecialFeatures" type="{}LongStringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="SpecificationMet" type="{}HundredString" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="SpecificUses" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SSDDriveArchitechture" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="StandardInputSheetCapacity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="StorageController" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="StorageControllerInterface" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="StorageHumidity" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="StorageInterface" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="StyleName" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SupportedAudioFormat" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="SupportedDevices" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="SupportedDevicesQuantity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="SupportedImageFormat" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="SupportedImageType" type="{}SupportedImageTypeValues" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="SupportedMediaSize" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SupportedMotherboard" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SupportedStandards" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="SurgeSuppression" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SurroundSoundChannels" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="SurroundSoundEffects" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="SwitchingProtocol" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="SystemBusSpeed" type="{}Dimension" minOccurs="0"/>
 *         &lt;element name="TalkRangeMaximum" type="{}LengthDimension" minOccurs="0"/>
 *         &lt;element name="TapeLength" type="{}TimeDimension" minOccurs="0"/>
 *         &lt;element name="TelevisionInterface" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="TelevisionPCInterfaceType" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="TemperatureRating" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="TotalHarmonicDistortion" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="TracklogPoints" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="Tracks" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="TransportProtocol" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="Tuner" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="TunerTechnology" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="TVTunerSecondaryAudioProgram" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="UPSTechnology" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="VCRType" type="{}StringNotNull" maxOccurs="2" minOccurs="0"/>
 *         &lt;element name="VerticalResolution" type="{}PixelDimension" minOccurs="0"/>
 *         &lt;element name="VideoCaptureFormat" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="VideoCaptureResolution" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="VideoHeadQuantity" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" minOccurs="0"/>
 *         &lt;element name="VideoInput" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="VideoInputDigitalStandard" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="VideoInputFormat" type="{}StringNotNull" maxOccurs="10" minOccurs="0"/>
 *         &lt;element name="VideoOutputFormat" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="VideoOutput" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="VideoOutputInterface" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="VideoOutputMode" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="VideoPlaybackFormat" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="VideotapePlaybackSpeed" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="VideotapeRecordingSpeed" type="{}VideotapeRecordingSpeedType" minOccurs="0"/>
 *         &lt;element name="VoiceCommunicationSupport" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="VoiceCoilDescription" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="VoicemailCapability" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="VoiceOperatedTransmission" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="VOIPProtocols" type="{}StringNotNull" maxOccurs="5" minOccurs="0"/>
 *         &lt;element name="VolumeAcousticSuspension" type="{}VolumeDimension" minOccurs="0"/>
 *         &lt;element name="Warnings" type="{}LongStringNotNull" minOccurs="0"/>
 *         &lt;element name="WarrantyDescription" type="{}SuperLongStringNotNull" minOccurs="0"/>
 *         &lt;element name="WaterproofRating" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="Waypoints" type="{}Dimension" minOccurs="0"/>
 *         &lt;element name="WaypointsPerRoute" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" minOccurs="0"/>
 *         &lt;element name="Weatherproof" type="{}StringNotNull" minOccurs="0"/>
 *         &lt;element name="WriteSpeed" type="{}StringNotNull" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "rebate",
    "productType",
    "productSubtype",
    "analogVideoFormat",
    "annualEnergyConsumption",
    "answeringSystemType",
    "antennaLength",
    "antennaType",
    "aspectRatio",
    "audioFeaturesDescription",
    "audioInput",
    "audioOutputEffects",
    "audioOutputMode",
    "audioOutputResponseBandwidth",
    "audioOutputType",
    "audioSensitivity",
    "autoRedial",
    "battery",
    "batteryAverageLife",
    "batteryAverageLifeTalkTime",
    "bufferSize",
    "batteryTypeLithiumIon",
    "batteryTypeLithiumMetal",
    "biometricSecurityFeatures",
    "builtInDecoders",
    "buttonQuantity",
    "cabinetMaterial",
    "cableFeature",
    "cableTechnology",
    "cableType",
    "cacheMemoryInstalledSize",
    "callAlerts",
    "callerIdentification",
    "carryingStrap",
    "cassetteSystemType",
    "cdChangerType",
    "cdDiskCapacity",
    "cdLoadType",
    "cdPlaybackMode",
    "cdSystemType",
    "cellularEnhancementProtocol",
    "coaxialDigitalInput",
    "coaxialDigitalOutput",
    "color",
    "colorDepth",
    "colorMap",
    "colorSupport",
    "compatibleCartridge",
    "compatibleDevices",
    "componentType",
    "compressedCapacity",
    "computerPeripheralConnector",
    "conferenceCallCapability",
    "connectivityProtocol",
    "connectivityTechnology",
    "copierType",
    "copySizeMaximum",
    "countryOfOrigin",
    "crossoverFrequency",
    "dacDataWidth",
    "dataCompressionProtocol",
    "dataLinkProtocol",
    "dataService",
    "dataStorageCapability",
    "dataTransferRate",
    "deviceType",
    "dgps",
    "dialerType",
    "digitalPlayerType",
    "digitalRecordingTime",
    "digitalSignalingProtocol",
    "digitalStorageCapacity",
    "digitalZoom",
    "displayColorSupport",
    "displayLanguageOptions",
    "displayLineQuantity",
    "displayResolutionMaximum",
    "displayTechnology",
    "displayType",
    "dockingStationExternalInterface",
    "driveUnits",
    "duplex",
    "dvdDiskCapacity",
    "dvdDiskChangerType",
    "dvdMediaLoadType",
    "dvdPictureZoomPower",
    "dvdPlaybackMode",
    "dvdType",
    "dvrCompressionRate",
    "dvrMaxRecordingTime",
    "dvrServiceDescription",
    "enclosure",
    "equalizer",
    "equalizerBandChannels",
    "errorCorrectionProtocol",
    "eyeRelief",
    "faceplateType",
    "faxMachineCompatibility",
    "faxType",
    "flashMemoryInstalledSize",
    "floppyDiskDrive",
    "formFactor",
    "freeAirResonantFrequency",
    "frequencyRange",
    "frequencyRequired",
    "frequencyResponseCurve",
    "frontAccessibleBaysQuantity",
    "fuseDescription",
    "gpsNavigation",
    "graphicsCoprocessor",
    "graphicsCoprocessorQuantity",
    "graphicsRam",
    "greyscaleDepth",
    "handsetDepth",
    "handsetHeight",
    "handsetLocator",
    "handsetWeight",
    "handsetWidth",
    "hardDiskDescription",
    "hardDiskInstalledQuantity",
    "hardDiskRotationalSpeed",
    "hardwareInterface",
    "hasCommercialSkip",
    "hasDVDPictureZoom",
    "hasParentalChannelLock",
    "headphonesFormFactor",
    "headphonesJack",
    "headphonesTechnology",
    "horizontalResolution",
    "hotSwapBaysQuantity",
    "humanInterfaceInput",
    "humanInterfaceOutput",
    "imageAspectRatio",
    "imageBrightness",
    "imageContrastRatio",
    "impedance",
    "includesMP3Player",
    "includesRechargableBattery",
    "includesRemote",
    "includesSpeakerphone",
    "inputAdapter",
    "inputChannelQuantity",
    "inputConnection",
    "inputConnectorType",
    "inputDevice",
    "inputDeviceInterface",
    "intercom",
    "internalBaysQuantity",
    "isdnTerminalAdapterInterface",
    "isHDTVCompatible",
    "isWaterproof",
    "itemDisplayDepth",
    "itemDisplayHeight",
    "itemDisplayLength",
    "itemDisplayLengthMaximum",
    "itemDisplayWeight",
    "itemDisplayWidth",
    "lithiumBatteryEnergyContent",
    "lithiumBatteryPackaging",
    "lithiumBatteryVoltage",
    "lithiumBatteryWeight",
    "keyboardDescription",
    "lampType",
    "leftConnectorGender",
    "leftConnectorType",
    "manufacturerWarrantyType",
    "mapType",
    "materialComposition",
    "materialType",
    "maxCopyResolutionBlackWhite",
    "maxCopyResolutionColor",
    "maximumBridgedOutputPower",
    "maximumExternalResolution",
    "maximumImageSize",
    "maximumLinearPeakExcursion",
    "maximumOutputPower",
    "maximumRange",
    "maximumRangeIndoors",
    "maximumSampleRate",
    "maximumScreenDistance",
    "maxInputSheetCapacity",
    "maxPrintResolutionBlackWhite",
    "maxPrintResolutionColor",
    "mediaFormat",
    "mediaLoadType",
    "mediaSizeMaximum",
    "mediaType",
    "memoryStorageCapacity",
    "memoryTechnology",
    "mfgWarrantyDescriptionLabor",
    "mfgWarrantyDescriptionParts",
    "microphoneFormFactor",
    "microphoneOperationMode",
    "microphoneTechnology",
    "miniDiscSystem",
    "minimumImageSize",
    "minimumScreenDistance",
    "minimumSystemRequirementDescription",
    "model",
    "modelName",
    "modemDescription",
    "modemInterface",
    "modemType",
    "monthlyDutyCycle",
    "mountingHoleDiameter",
    "movementDetectionTechnology",
    "multilineOperation",
    "multimediaFunctionality",
    "navigationRoutes",
    "networkingFeature",
    "networkInterfaceDescription",
    "numberOfLithiumIonCells",
    "numberOfLithiumMetalCells",
    "numberOfPorts",
    "numberOfSupportedZones",
    "objectiveLensDiameter",
    "operatingHumidity",
    "opticalDigitalInput",
    "opticalDigitalOutput",
    "opticalSensorInterpolatedResolution",
    "opticalSensorResolution",
    "opticalStorageDevice",
    "opticalStorageInstalledQuantity",
    "opticalStorageReadSpeed",
    "opticalStorageRewriteSpeed",
    "opticalStorageSecondaryReadSpeed",
    "opticalStorageSecondaryRewriteSpeed",
    "opticalStorageSecondaryType",
    "opticalStorageSecondaryWriteSpeed",
    "opticalStorageWriteSpeed",
    "outputChannelQuantity",
    "outputConnection",
    "outputConnectorQuantity",
    "outputConnectorType",
    "outputPower",
    "outputWattage",
    "packageContentType",
    "packageTypeName",
    "pcConnectionAvailable",
    "phoneBaseDepth",
    "phoneBaseHeight",
    "phoneBaseWeight",
    "phoneBaseWidth",
    "portedBoxVolume",
    "powerAmplifierClass",
    "powerDevice",
    "powerGain",
    "powerLoadRating",
    "preampOutputChannels",
    "presetChannelQuantity",
    "printerInterface",
    "printerOutput",
    "printerResolutionBWHorizontalMax",
    "printerResolutionBWVerticalMax",
    "printerResolutionColorHorizontalMax",
    "printerResolutionColorVerticalMax",
    "printerTechnology",
    "processorDescription",
    "processorMaximum",
    "processorModelNumber",
    "processorUpgrade",
    "programmability",
    "qtsTotalQFactor",
    "radioBandsSupported",
    "radioChannels",
    "raidLevel",
    "ramMemoryInstalledSize",
    "ramMemoryMaximumSize",
    "ramMemoryTechnology",
    "rangefinderType",
    "receiverDescription",
    "recordingCapacity",
    "remoteControlAudioControls",
    "remoteControlDescription",
    "remoteControlTechnology",
    "remoteManagementProtocol",
    "removableMediaCapacity",
    "removableMemory",
    "removableStorage",
    "removableStorageInterface",
    "removableStorageNativeCapacity",
    "responseTime",
    "rightConnectorGender",
    "rightConnectorType",
    "routingProtocol",
    "satelliteServiceDescription",
    "sbas",
    "scanElementType",
    "scannerInterface",
    "scannerType",
    "scsiSignalingType",
    "sealedBoxVolume",
    "searchSpeed",
    "secondaryCache",
    "signalToNoiseRatio",
    "size",
    "speakerAmplificationType",
    "speakerConnectivity",
    "speakerDriverMaterial",
    "speakersCrossoverChannelQuantity",
    "speakersIncludedDescription",
    "speakersMaximumOutputPower",
    "speakersNominalOutputPower",
    "speakersResponseBandwidth",
    "speakerSystemClass",
    "speakerType",
    "specialFeatures",
    "specificationMet",
    "specificUses",
    "ssdDriveArchitechture",
    "standardInputSheetCapacity",
    "storageController",
    "storageControllerInterface",
    "storageHumidity",
    "storageInterface",
    "styleName",
    "supportedAudioFormat",
    "supportedDevices",
    "supportedDevicesQuantity",
    "supportedImageFormat",
    "supportedImageType",
    "supportedMediaSize",
    "supportedMotherboard",
    "supportedStandards",
    "surgeSuppression",
    "surroundSoundChannels",
    "surroundSoundEffects",
    "switchingProtocol",
    "systemBusSpeed",
    "talkRangeMaximum",
    "tapeLength",
    "televisionInterface",
    "televisionPCInterfaceType",
    "temperatureRating",
    "totalHarmonicDistortion",
    "tracklogPoints",
    "tracks",
    "transportProtocol",
    "tuner",
    "tunerTechnology",
    "tvTunerSecondaryAudioProgram",
    "upsTechnology",
    "vcrType",
    "verticalResolution",
    "videoCaptureFormat",
    "videoCaptureResolution",
    "videoHeadQuantity",
    "videoInput",
    "videoInputDigitalStandard",
    "videoInputFormat",
    "videoOutputFormat",
    "videoOutput",
    "videoOutputInterface",
    "videoOutputMode",
    "videoPlaybackFormat",
    "videotapePlaybackSpeed",
    "videotapeRecordingSpeed",
    "voiceCommunicationSupport",
    "voiceCoilDescription",
    "voicemailCapability",
    "voiceOperatedTransmission",
    "voipProtocols",
    "volumeAcousticSuspension",
    "warnings",
    "warrantyDescription",
    "waterproofRating",
    "waypoints",
    "waypointsPerRoute",
    "weatherproof",
    "writeSpeed"
})
@XmlRootElement(name = "CE")
public class CE {

    @XmlElement(name = "Rebate")
    protected List<RebateType> rebate;
    @XmlElement(name = "ProductType", required = true)
    protected CE.ProductType productType;
    @XmlElement(name = "ProductSubtype")
    protected String productSubtype;
    @XmlElement(name = "AnalogVideoFormat")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> analogVideoFormat;
    @XmlElement(name = "AnnualEnergyConsumption")
    protected EnergyConsumptionDimension annualEnergyConsumption;
    @XmlElement(name = "AnsweringSystemType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String answeringSystemType;
    @XmlElement(name = "AntennaLength")
    protected LengthDimension antennaLength;
    @XmlElement(name = "AntennaType")
    protected AntennaTypeValues antennaType;
    @XmlElement(name = "AspectRatio")
    protected String aspectRatio;
    @XmlElement(name = "AudioFeaturesDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String audioFeaturesDescription;
    @XmlElement(name = "AudioInput")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> audioInput;
    @XmlElement(name = "AudioOutputEffects")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> audioOutputEffects;
    @XmlElement(name = "AudioOutputMode")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> audioOutputMode;
    @XmlElement(name = "AudioOutputResponseBandwidth")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String audioOutputResponseBandwidth;
    @XmlElement(name = "AudioOutputType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String audioOutputType;
    @XmlElement(name = "AudioSensitivity")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger audioSensitivity;
    @XmlElement(name = "AutoRedial")
    protected Boolean autoRedial;
    @XmlElement(name = "Battery")
    protected Battery battery;
    @XmlElement(name = "BatteryAverageLife")
    protected TimeDimension batteryAverageLife;
    @XmlElement(name = "BatteryAverageLifeTalkTime")
    protected TimeDimension batteryAverageLifeTalkTime;
    @XmlElement(name = "BufferSize")
    protected MemorySizeDimension bufferSize;
    @XmlElement(name = "BatteryTypeLithiumIon")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger batteryTypeLithiumIon;
    @XmlElement(name = "BatteryTypeLithiumMetal")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger batteryTypeLithiumMetal;
    @XmlElement(name = "BiometricSecurityFeatures")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String biometricSecurityFeatures;
    @XmlElement(name = "BuiltInDecoders")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> builtInDecoders;
    @XmlElement(name = "ButtonQuantity")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger buttonQuantity;
    @XmlElement(name = "CabinetMaterial")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String cabinetMaterial;
    @XmlElement(name = "CableFeature")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> cableFeature;
    @XmlElement(name = "CableTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> cableTechnology;
    @XmlElement(name = "CableType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String cableType;
    @XmlElement(name = "CacheMemoryInstalledSize")
    protected MemorySizeDimension cacheMemoryInstalledSize;
    @XmlElement(name = "CallAlerts")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String callAlerts;
    @XmlElement(name = "CallerIdentification")
    protected Boolean callerIdentification;
    @XmlElement(name = "CarryingStrap")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> carryingStrap;
    @XmlElement(name = "CassetteSystemType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String cassetteSystemType;
    @XmlElement(name = "CDChangerType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String cdChangerType;
    @XmlElement(name = "CDDiskCapacity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger cdDiskCapacity;
    @XmlElement(name = "CDLoadType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String cdLoadType;
    @XmlElement(name = "CDPlaybackMode")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> cdPlaybackMode;
    @XmlElement(name = "CDSystemType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String cdSystemType;
    @XmlElement(name = "CellularEnhancementProtocol")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> cellularEnhancementProtocol;
    @XmlElement(name = "CoaxialDigitalInput")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String coaxialDigitalInput;
    @XmlElement(name = "CoaxialDigitalOutput")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String coaxialDigitalOutput;
    @XmlElement(name = "Color")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String color;
    @XmlElement(name = "ColorDepth")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> colorDepth;
    @XmlElement(name = "ColorMap")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String colorMap;
    @XmlElement(name = "ColorSupport")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> colorSupport;
    @XmlElement(name = "CompatibleCartridge")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> compatibleCartridge;
    @XmlElement(name = "CompatibleDevices")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> compatibleDevices;
    @XmlElement(name = "ComponentType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> componentType;
    @XmlElement(name = "CompressedCapacity")
    protected MemorySizeDimension compressedCapacity;
    @XmlElement(name = "ComputerPeripheralConnector")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> computerPeripheralConnector;
    @XmlElement(name = "ConferenceCallCapability")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String conferenceCallCapability;
    @XmlElement(name = "ConnectivityProtocol")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> connectivityProtocol;
    @XmlElement(name = "ConnectivityTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String connectivityTechnology;
    @XmlElement(name = "CopierType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String copierType;
    @XmlElement(name = "CopySizeMaximum")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String copySizeMaximum;
    @XmlElement(name = "CountryOfOrigin")
    protected String countryOfOrigin;
    @XmlElement(name = "CrossoverFrequency")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String crossoverFrequency;
    @XmlElement(name = "DACDataWidth")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String dacDataWidth;
    @XmlElement(name = "DataCompressionProtocol")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> dataCompressionProtocol;
    @XmlElement(name = "DataLinkProtocol")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> dataLinkProtocol;
    @XmlElement(name = "DataService")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String dataService;
    @XmlElement(name = "DataStorageCapability")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String dataStorageCapability;
    @XmlElement(name = "DataTransferRate")
    protected CE.DataTransferRate dataTransferRate;
    @XmlElement(name = "DeviceType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String deviceType;
    @XmlElement(name = "DGPS")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String dgps;
    @XmlElement(name = "DialerType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String dialerType;
    @XmlElement(name = "DigitalPlayerType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String digitalPlayerType;
    @XmlElement(name = "DigitalRecordingTime")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> digitalRecordingTime;
    @XmlElement(name = "DigitalSignalingProtocol")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> digitalSignalingProtocol;
    @XmlElement(name = "DigitalStorageCapacity")
    protected MemorySizeDimension digitalStorageCapacity;
    @XmlElement(name = "DigitalZoom")
    protected ZoomDimension digitalZoom;
    @XmlElement(name = "DisplayColorSupport")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> displayColorSupport;
    @XmlElement(name = "DisplayLanguageOptions")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String displayLanguageOptions;
    @XmlElement(name = "DisplayLineQuantity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger displayLineQuantity;
    @XmlElement(name = "DisplayResolutionMaximum")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String displayResolutionMaximum;
    @XmlElement(name = "DisplayTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String displayTechnology;
    @XmlElement(name = "DisplayType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String displayType;
    @XmlElement(name = "DockingStationExternalInterface")
    protected DockingStationExternalInterfaceTypeValues dockingStationExternalInterface;
    @XmlElement(name = "DriveUnits")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String driveUnits;
    @XmlElement(name = "Duplex")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String duplex;
    @XmlElement(name = "DVDDiskCapacity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger dvdDiskCapacity;
    @XmlElement(name = "DVDDiskChangerType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String dvdDiskChangerType;
    @XmlElement(name = "DVDMediaLoadType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String dvdMediaLoadType;
    @XmlElement(name = "DVDPictureZoomPower")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> dvdPictureZoomPower;
    @XmlElement(name = "DVDPlaybackMode")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> dvdPlaybackMode;
    @XmlElement(name = "DVDType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String dvdType;
    @XmlElement(name = "DVRCompressionRate")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String dvrCompressionRate;
    @XmlElement(name = "DVRMaxRecordingTime")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger dvrMaxRecordingTime;
    @XmlElement(name = "DVRServiceDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String dvrServiceDescription;
    @XmlElement(name = "Enclosure")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String enclosure;
    @XmlElement(name = "Equalizer")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String equalizer;
    @XmlElement(name = "EqualizerBandChannels")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String equalizerBandChannels;
    @XmlElement(name = "ErrorCorrectionProtocol")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> errorCorrectionProtocol;
    @XmlElement(name = "EyeRelief")
    protected LengthDimension eyeRelief;
    @XmlElement(name = "FaceplateType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String faceplateType;
    @XmlElement(name = "FaxMachineCompatibility")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String faxMachineCompatibility;
    @XmlElement(name = "FaxType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String faxType;
    @XmlElement(name = "FlashMemoryInstalledSize")
    protected MemorySizeDimension flashMemoryInstalledSize;
    @XmlElement(name = "FloppyDiskDrive")
    protected String floppyDiskDrive;
    @XmlElement(name = "FormFactor")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> formFactor;
    @XmlElement(name = "FreeAirResonantFrequency")
    protected FrequencyDimension freeAirResonantFrequency;
    @XmlElement(name = "FrequencyRange")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> frequencyRange;
    @XmlElement(name = "FrequencyRequired")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String frequencyRequired;
    @XmlElement(name = "FrequencyResponseCurve")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String frequencyResponseCurve;
    @XmlElement(name = "FrontAccessibleBaysQuantity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger frontAccessibleBaysQuantity;
    @XmlElement(name = "FuseDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String fuseDescription;
    @XmlElement(name = "GPSNavigation")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String gpsNavigation;
    @XmlElement(name = "GraphicsCoprocessor")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String graphicsCoprocessor;
    @XmlElement(name = "GraphicsCoprocessorQuantity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger graphicsCoprocessorQuantity;
    @XmlElement(name = "GraphicsRam")
    protected BigDecimal graphicsRam;
    @XmlElement(name = "GreyscaleDepth")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> greyscaleDepth;
    @XmlElement(name = "HandsetDepth")
    protected LengthDimension handsetDepth;
    @XmlElement(name = "HandsetHeight")
    protected LengthDimension handsetHeight;
    @XmlElement(name = "HandsetLocator")
    protected Boolean handsetLocator;
    @XmlElement(name = "HandsetWeight")
    protected WeightDimension handsetWeight;
    @XmlElement(name = "HandsetWidth")
    protected LengthDimension handsetWidth;
    @XmlElement(name = "HardDiskDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String hardDiskDescription;
    @XmlElement(name = "HardDiskInstalledQuantity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger hardDiskInstalledQuantity;
    @XmlElement(name = "HardDiskRotationalSpeed")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger hardDiskRotationalSpeed;
    @XmlElement(name = "HardwareInterface")
    protected List<String> hardwareInterface;
    @XmlElement(name = "HasCommercialSkip")
    protected Boolean hasCommercialSkip;
    @XmlElement(name = "HasDVDPictureZoom")
    protected Boolean hasDVDPictureZoom;
    @XmlElement(name = "HasParentalChannelLock")
    protected Boolean hasParentalChannelLock;
    @XmlElement(name = "HeadphonesFormFactor")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String headphonesFormFactor;
    @XmlElement(name = "HeadphonesJack")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String headphonesJack;
    @XmlElement(name = "HeadphonesTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String headphonesTechnology;
    @XmlElement(name = "HorizontalResolution")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger horizontalResolution;
    @XmlElement(name = "HotSwapBaysQuantity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger hotSwapBaysQuantity;
    @XmlElement(name = "HumanInterfaceInput")
    protected List<HumanInterfaceInputType> humanInterfaceInput;
    @XmlElement(name = "HumanInterfaceOutput")
    protected HumanInterfaceOutputType humanInterfaceOutput;
    @XmlElement(name = "ImageAspectRatio")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> imageAspectRatio;
    @XmlElement(name = "ImageBrightness")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String imageBrightness;
    @XmlElement(name = "ImageContrastRatio")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String imageContrastRatio;
    @XmlElement(name = "Impedance")
    protected ResistanceDimension impedance;
    @XmlElement(name = "IncludesMP3Player")
    protected Boolean includesMP3Player;
    @XmlElement(name = "IncludesRechargableBattery")
    protected Boolean includesRechargableBattery;
    @XmlElement(name = "IncludesRemote")
    protected Boolean includesRemote;
    @XmlElement(name = "IncludesSpeakerphone")
    protected Boolean includesSpeakerphone;
    @XmlElement(name = "InputAdapter")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> inputAdapter;
    @XmlElement(name = "InputChannelQuantity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger inputChannelQuantity;
    @XmlElement(name = "InputConnection")
    protected List<Connection> inputConnection;
    @XmlElement(name = "InputConnectorType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> inputConnectorType;
    @XmlElement(name = "InputDevice")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> inputDevice;
    @XmlElement(name = "InputDeviceInterface")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> inputDeviceInterface;
    @XmlElement(name = "Intercom")
    protected Boolean intercom;
    @XmlElement(name = "InternalBaysQuantity")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger internalBaysQuantity;
    @XmlElement(name = "ISDNTerminalAdapterInterface")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String isdnTerminalAdapterInterface;
    @XmlElement(name = "IsHDTVCompatible")
    protected Boolean isHDTVCompatible;
    @XmlElement(name = "IsWaterproof")
    protected Boolean isWaterproof;
    @XmlElement(name = "ItemDisplayDepth")
    protected LengthDimension itemDisplayDepth;
    @XmlElement(name = "ItemDisplayHeight")
    protected LengthDimension itemDisplayHeight;
    @XmlElement(name = "ItemDisplayLength")
    protected LengthDimension itemDisplayLength;
    @XmlElement(name = "ItemDisplayLengthMaximum")
    protected LengthDimension itemDisplayLengthMaximum;
    @XmlElement(name = "ItemDisplayWeight")
    protected WeightDimension itemDisplayWeight;
    @XmlElement(name = "ItemDisplayWidth")
    protected LengthDimension itemDisplayWidth;
    @XmlElement(name = "LithiumBatteryEnergyContent")
    protected BigDecimal lithiumBatteryEnergyContent;
    @XmlElement(name = "LithiumBatteryPackaging")
    protected String lithiumBatteryPackaging;
    @XmlElement(name = "LithiumBatteryVoltage")
    protected BigDecimal lithiumBatteryVoltage;
    @XmlElement(name = "LithiumBatteryWeight")
    protected BigDecimal lithiumBatteryWeight;
    @XmlElement(name = "KeyboardDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String keyboardDescription;
    @XmlElement(name = "LampType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String lampType;
    @XmlElement(name = "LeftConnectorGender")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String leftConnectorGender;
    @XmlElement(name = "LeftConnectorType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> leftConnectorType;
    @XmlElement(name = "ManufacturerWarrantyType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String manufacturerWarrantyType;
    @XmlElement(name = "MapType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> mapType;
    @XmlElement(name = "MaterialComposition")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> materialComposition;
    @XmlElement(name = "MaterialType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> materialType;
    @XmlElement(name = "MaxCopyResolutionBlackWhite")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String maxCopyResolutionBlackWhite;
    @XmlElement(name = "MaxCopyResolutionColor")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String maxCopyResolutionColor;
    @XmlElement(name = "MaximumBridgedOutputPower")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger maximumBridgedOutputPower;
    @XmlElement(name = "MaximumExternalResolution")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String maximumExternalResolution;
    @XmlElement(name = "MaximumImageSize")
    protected LengthDimension maximumImageSize;
    @XmlElement(name = "MaximumLinearPeakExcursion")
    protected LengthDimension maximumLinearPeakExcursion;
    @XmlElement(name = "MaximumOutputPower")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String maximumOutputPower;
    @XmlElement(name = "MaximumRange")
    protected LengthDimension maximumRange;
    @XmlElement(name = "MaximumRangeIndoors")
    protected LengthDimension maximumRangeIndoors;
    @XmlElement(name = "MaximumSampleRate")
    protected FrequencyDimension maximumSampleRate;
    @XmlElement(name = "MaximumScreenDistance")
    protected LengthDimension maximumScreenDistance;
    @XmlElement(name = "MaxInputSheetCapacity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger maxInputSheetCapacity;
    @XmlElement(name = "MaxPrintResolutionBlackWhite")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> maxPrintResolutionBlackWhite;
    @XmlElement(name = "MaxPrintResolutionColor")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> maxPrintResolutionColor;
    @XmlElement(name = "MediaFormat")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String mediaFormat;
    @XmlElement(name = "MediaLoadType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String mediaLoadType;
    @XmlElement(name = "MediaSizeMaximum")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> mediaSizeMaximum;
    @XmlElement(name = "MediaType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> mediaType;
    @XmlElement(name = "MemoryStorageCapacity")
    protected MemorySizeDimension memoryStorageCapacity;
    @XmlElement(name = "MemoryTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String memoryTechnology;
    @XmlElement(name = "MfgWarrantyDescriptionLabor")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String mfgWarrantyDescriptionLabor;
    @XmlElement(name = "MfgWarrantyDescriptionParts")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String mfgWarrantyDescriptionParts;
    @XmlElement(name = "MicrophoneFormFactor")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String microphoneFormFactor;
    @XmlElement(name = "MicrophoneOperationMode")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> microphoneOperationMode;
    @XmlElement(name = "MicrophoneTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String microphoneTechnology;
    @XmlElement(name = "MiniDiscSystem")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String miniDiscSystem;
    @XmlElement(name = "MinimumImageSize")
    protected LengthDimension minimumImageSize;
    @XmlElement(name = "MinimumScreenDistance")
    protected LengthDimension minimumScreenDistance;
    @XmlElement(name = "MinimumSystemRequirementDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String minimumSystemRequirementDescription;
    @XmlElement(name = "Model")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String model;
    @XmlElement(name = "ModelName")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String modelName;
    @XmlElement(name = "ModemDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String modemDescription;
    @XmlElement(name = "ModemInterface")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String modemInterface;
    @XmlElement(name = "ModemType")
    protected ModemTypeValues modemType;
    @XmlElement(name = "MonthlyDutyCycle")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String monthlyDutyCycle;
    @XmlElement(name = "MountingHoleDiameter")
    protected LengthDimension mountingHoleDiameter;
    @XmlElement(name = "MovementDetectionTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String movementDetectionTechnology;
    @XmlElement(name = "MultilineOperation")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> multilineOperation;
    @XmlElement(name = "MultimediaFunctionality")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> multimediaFunctionality;
    @XmlElement(name = "NavigationRoutes")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger navigationRoutes;
    @XmlElement(name = "NetworkingFeature")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> networkingFeature;
    @XmlElement(name = "NetworkInterfaceDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String networkInterfaceDescription;
    @XmlElement(name = "NumberOfLithiumIonCells")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger numberOfLithiumIonCells;
    @XmlElement(name = "NumberOfLithiumMetalCells")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger numberOfLithiumMetalCells;
    @XmlElement(name = "NumberOfPorts")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger numberOfPorts;
    @XmlElement(name = "NumberOfSupportedZones")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger numberOfSupportedZones;
    @XmlElement(name = "ObjectiveLensDiameter")
    protected LengthDimension objectiveLensDiameter;
    @XmlElement(name = "OperatingHumidity")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String operatingHumidity;
    @XmlElement(name = "OpticalDigitalInput")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String opticalDigitalInput;
    @XmlElement(name = "OpticalDigitalOutput")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String opticalDigitalOutput;
    @XmlElement(name = "OpticalSensorInterpolatedResolution")
    protected PixelDimension opticalSensorInterpolatedResolution;
    @XmlElement(name = "OpticalSensorResolution")
    protected PixelDimension opticalSensorResolution;
    @XmlElement(name = "OpticalStorageDevice")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> opticalStorageDevice;
    @XmlElement(name = "OpticalStorageInstalledQuantity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger opticalStorageInstalledQuantity;
    @XmlElement(name = "OpticalStorageReadSpeed")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String opticalStorageReadSpeed;
    @XmlElement(name = "OpticalStorageRewriteSpeed")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String opticalStorageRewriteSpeed;
    @XmlElement(name = "OpticalStorageSecondaryReadSpeed")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String opticalStorageSecondaryReadSpeed;
    @XmlElement(name = "OpticalStorageSecondaryRewriteSpeed")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String opticalStorageSecondaryRewriteSpeed;
    @XmlElement(name = "OpticalStorageSecondaryType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> opticalStorageSecondaryType;
    @XmlElement(name = "OpticalStorageSecondaryWriteSpeed")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String opticalStorageSecondaryWriteSpeed;
    @XmlElement(name = "OpticalStorageWriteSpeed")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String opticalStorageWriteSpeed;
    @XmlElement(name = "OutputChannelQuantity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger outputChannelQuantity;
    @XmlElement(name = "OutputConnection")
    protected List<Connection> outputConnection;
    @XmlElement(name = "OutputConnectorQuantity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger outputConnectorQuantity;
    @XmlElement(name = "OutputConnectorType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> outputConnectorType;
    @XmlElement(name = "OutputPower")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger outputPower;
    @XmlElement(name = "OutputWattage")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger outputWattage;
    @XmlElement(name = "PackageContentType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String packageContentType;
    @XmlElement(name = "PackageTypeName")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String packageTypeName;
    @XmlElement(name = "PCConnectionAvailable")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String pcConnectionAvailable;
    @XmlElement(name = "PhoneBaseDepth")
    protected LengthDimension phoneBaseDepth;
    @XmlElement(name = "PhoneBaseHeight")
    protected LengthDimension phoneBaseHeight;
    @XmlElement(name = "PhoneBaseWeight")
    protected WeightDimension phoneBaseWeight;
    @XmlElement(name = "PhoneBaseWidth")
    protected LengthDimension phoneBaseWidth;
    @XmlElement(name = "PortedBoxVolume")
    protected CE.PortedBoxVolume portedBoxVolume;
    @XmlElement(name = "PowerAmplifierClass")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String powerAmplifierClass;
    @XmlElement(name = "PowerDevice")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String powerDevice;
    @XmlElement(name = "PowerGain")
    protected VoltageIntegerDimension powerGain;
    @XmlElement(name = "PowerLoadRating")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String powerLoadRating;
    @XmlElement(name = "PreampOutputChannels")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger preampOutputChannels;
    @XmlElement(name = "PresetChannelQuantity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger presetChannelQuantity;
    @XmlElement(name = "PrinterInterface")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String printerInterface;
    @XmlElement(name = "PrinterOutput")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String printerOutput;
    @XmlElement(name = "PrinterResolutionBWHorizontalMax")
    protected PixelDimension printerResolutionBWHorizontalMax;
    @XmlElement(name = "PrinterResolutionBWVerticalMax")
    protected PixelDimension printerResolutionBWVerticalMax;
    @XmlElement(name = "PrinterResolutionColorHorizontalMax")
    protected PixelDimension printerResolutionColorHorizontalMax;
    @XmlElement(name = "PrinterResolutionColorVerticalMax")
    protected PixelDimension printerResolutionColorVerticalMax;
    @XmlElement(name = "PrinterTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String printerTechnology;
    @XmlElement(name = "ProcessorDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String processorDescription;
    @XmlElement(name = "ProcessorMaximum")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger processorMaximum;
    @XmlElement(name = "ProcessorModelNumber")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String processorModelNumber;
    @XmlElement(name = "ProcessorUpgrade")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String processorUpgrade;
    @XmlElement(name = "Programmability")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> programmability;
    @XmlElement(name = "QtsTotalQFactor")
    protected BigDecimal qtsTotalQFactor;
    @XmlElement(name = "RadioBandsSupported")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String radioBandsSupported;
    @XmlElement(name = "RadioChannels")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String radioChannels;
    @XmlElement(name = "RAIDLevel")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> raidLevel;
    @XmlElement(name = "RAMMemoryInstalledSize")
    protected MemorySizeDimension ramMemoryInstalledSize;
    @XmlElement(name = "RAMMemoryMaximumSize")
    protected MemorySizeDimension ramMemoryMaximumSize;
    @XmlElement(name = "RAMMemoryTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String ramMemoryTechnology;
    @XmlElement(name = "RangefinderType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String rangefinderType;
    @XmlElement(name = "ReceiverDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String receiverDescription;
    @XmlElement(name = "RecordingCapacity")
    protected MemorySizeDimension recordingCapacity;
    @XmlElement(name = "RemoteControlAudioControls")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> remoteControlAudioControls;
    @XmlElement(name = "RemoteControlDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String remoteControlDescription;
    @XmlElement(name = "RemoteControlTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String remoteControlTechnology;
    @XmlElement(name = "RemoteManagementProtocol")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> remoteManagementProtocol;
    @XmlElement(name = "RemovableMediaCapacity")
    protected MemorySizeDimension removableMediaCapacity;
    @XmlElement(name = "RemovableMemory")
    protected String removableMemory;
    @XmlElement(name = "RemovableStorage")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String removableStorage;
    @XmlElement(name = "RemovableStorageInterface")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String removableStorageInterface;
    @XmlElement(name = "RemovableStorageNativeCapacity")
    protected MemorySizeDimension removableStorageNativeCapacity;
    @XmlElement(name = "ResponseTime")
    protected TimeDimension responseTime;
    @XmlElement(name = "RightConnectorGender")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String rightConnectorGender;
    @XmlElement(name = "RightConnectorType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> rightConnectorType;
    @XmlElement(name = "RoutingProtocol")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> routingProtocol;
    @XmlElement(name = "SatelliteServiceDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> satelliteServiceDescription;
    @XmlElement(name = "SBAS")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> sbas;
    @XmlElement(name = "ScanElementType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String scanElementType;
    @XmlElement(name = "ScannerInterface")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String scannerInterface;
    @XmlElement(name = "ScannerType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String scannerType;
    @XmlElement(name = "SCSISignalingType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String scsiSignalingType;
    @XmlElement(name = "SealedBoxVolume")
    protected CE.SealedBoxVolume sealedBoxVolume;
    @XmlElement(name = "SearchSpeed")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> searchSpeed;
    @XmlElement(name = "SecondaryCache")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger secondaryCache;
    @XmlElement(name = "SignalToNoiseRatio")
    protected BigDecimal signalToNoiseRatio;
    @XmlElement(name = "Size")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String size;
    @XmlElement(name = "SpeakerAmplificationType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String speakerAmplificationType;
    @XmlElement(name = "SpeakerConnectivity")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String speakerConnectivity;
    @XmlElement(name = "SpeakerDriverMaterial")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String speakerDriverMaterial;
    @XmlElement(name = "SpeakersCrossoverChannelQuantity")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> speakersCrossoverChannelQuantity;
    @XmlElement(name = "SpeakersIncludedDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String speakersIncludedDescription;
    @XmlElement(name = "SpeakersMaximumOutputPower")
    protected BigDecimal speakersMaximumOutputPower;
    @XmlElement(name = "SpeakersNominalOutputPower")
    protected BigDecimal speakersNominalOutputPower;
    @XmlElement(name = "SpeakersResponseBandwidth")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String speakersResponseBandwidth;
    @XmlElement(name = "SpeakerSystemClass")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String speakerSystemClass;
    @XmlElement(name = "SpeakerType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String speakerType;
    @XmlElement(name = "SpecialFeatures")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> specialFeatures;
    @XmlElement(name = "SpecificationMet")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> specificationMet;
    @XmlElement(name = "SpecificUses")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String specificUses;
    @XmlElement(name = "SSDDriveArchitechture")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String ssdDriveArchitechture;
    @XmlElement(name = "StandardInputSheetCapacity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger standardInputSheetCapacity;
    @XmlElement(name = "StorageController")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String storageController;
    @XmlElement(name = "StorageControllerInterface")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String storageControllerInterface;
    @XmlElement(name = "StorageHumidity")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String storageHumidity;
    @XmlElement(name = "StorageInterface")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String storageInterface;
    @XmlElement(name = "StyleName")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String styleName;
    @XmlElement(name = "SupportedAudioFormat")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> supportedAudioFormat;
    @XmlElement(name = "SupportedDevices")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> supportedDevices;
    @XmlElement(name = "SupportedDevicesQuantity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger supportedDevicesQuantity;
    @XmlElement(name = "SupportedImageFormat")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> supportedImageFormat;
    @XmlElement(name = "SupportedImageType")
    protected List<String> supportedImageType;
    @XmlElement(name = "SupportedMediaSize")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String supportedMediaSize;
    @XmlElement(name = "SupportedMotherboard")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String supportedMotherboard;
    @XmlElement(name = "SupportedStandards")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> supportedStandards;
    @XmlElement(name = "SurgeSuppression")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String surgeSuppression;
    @XmlElement(name = "SurroundSoundChannels")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String surroundSoundChannels;
    @XmlElement(name = "SurroundSoundEffects")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> surroundSoundEffects;
    @XmlElement(name = "SwitchingProtocol")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> switchingProtocol;
    @XmlElement(name = "SystemBusSpeed")
    protected BigDecimal systemBusSpeed;
    @XmlElement(name = "TalkRangeMaximum")
    protected LengthDimension talkRangeMaximum;
    @XmlElement(name = "TapeLength")
    protected TimeDimension tapeLength;
    @XmlElement(name = "TelevisionInterface")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String televisionInterface;
    @XmlElement(name = "TelevisionPCInterfaceType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String televisionPCInterfaceType;
    @XmlElement(name = "TemperatureRating")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String temperatureRating;
    @XmlElement(name = "TotalHarmonicDistortion")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String totalHarmonicDistortion;
    @XmlElement(name = "TracklogPoints")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger tracklogPoints;
    @XmlElement(name = "Tracks")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger tracks;
    @XmlElement(name = "TransportProtocol")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> transportProtocol;
    @XmlElement(name = "Tuner")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String tuner;
    @XmlElement(name = "TunerTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> tunerTechnology;
    @XmlElement(name = "TVTunerSecondaryAudioProgram")
    protected Boolean tvTunerSecondaryAudioProgram;
    @XmlElement(name = "UPSTechnology")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String upsTechnology;
    @XmlElement(name = "VCRType")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> vcrType;
    @XmlElement(name = "VerticalResolution")
    protected PixelDimension verticalResolution;
    @XmlElement(name = "VideoCaptureFormat")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> videoCaptureFormat;
    @XmlElement(name = "VideoCaptureResolution")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> videoCaptureResolution;
    @XmlElement(name = "VideoHeadQuantity")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger videoHeadQuantity;
    @XmlElement(name = "VideoInput")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> videoInput;
    @XmlElement(name = "VideoInputDigitalStandard")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> videoInputDigitalStandard;
    @XmlElement(name = "VideoInputFormat")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> videoInputFormat;
    @XmlElement(name = "VideoOutputFormat")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String videoOutputFormat;
    @XmlElement(name = "VideoOutput")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> videoOutput;
    @XmlElement(name = "VideoOutputInterface")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> videoOutputInterface;
    @XmlElement(name = "VideoOutputMode")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String videoOutputMode;
    @XmlElement(name = "VideoPlaybackFormat")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> videoPlaybackFormat;
    @XmlElement(name = "VideotapePlaybackSpeed")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> videotapePlaybackSpeed;
    @XmlElement(name = "VideotapeRecordingSpeed")
    protected String videotapeRecordingSpeed;
    @XmlElement(name = "VoiceCommunicationSupport")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> voiceCommunicationSupport;
    @XmlElement(name = "VoiceCoilDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String voiceCoilDescription;
    @XmlElement(name = "VoicemailCapability")
    protected Boolean voicemailCapability;
    @XmlElement(name = "VoiceOperatedTransmission")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String voiceOperatedTransmission;
    @XmlElement(name = "VOIPProtocols")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected List<String> voipProtocols;
    @XmlElement(name = "VolumeAcousticSuspension")
    protected VolumeDimension volumeAcousticSuspension;
    @XmlElement(name = "Warnings")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String warnings;
    @XmlElement(name = "WarrantyDescription")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String warrantyDescription;
    @XmlElement(name = "WaterproofRating")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String waterproofRating;
    @XmlElement(name = "Waypoints")
    protected BigDecimal waypoints;
    @XmlElement(name = "WaypointsPerRoute")
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger waypointsPerRoute;
    @XmlElement(name = "Weatherproof")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String weatherproof;
    @XmlElement(name = "WriteSpeed")
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    protected String writeSpeed;

    /**
     * Gets the value of the rebate property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the rebate property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getRebate().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link RebateType }
     * 
     * 
     */
    public List<RebateType> getRebate() {
        if (rebate == null) {
            rebate = new ArrayList<RebateType>();
        }
        return this.rebate;
    }

    /**
     * Gets the value of the productType property.
     * 
     * @return
     *     possible object is
     *     {@link CE.ProductType }
     *     
     */
    public CE.ProductType getProductType() {
        return productType;
    }

    /**
     * Sets the value of the productType property.
     * 
     * @param value
     *     allowed object is
     *     {@link CE.ProductType }
     *     
     */
    public void setProductType(CE.ProductType value) {
        this.productType = value;
    }

    /**
     * Gets the value of the productSubtype property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getProductSubtype() {
        return productSubtype;
    }

    /**
     * Sets the value of the productSubtype property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setProductSubtype(String value) {
        this.productSubtype = value;
    }

    /**
     * Gets the value of the analogVideoFormat property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the analogVideoFormat property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAnalogVideoFormat().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getAnalogVideoFormat() {
        if (analogVideoFormat == null) {
            analogVideoFormat = new ArrayList<String>();
        }
        return this.analogVideoFormat;
    }

    /**
     * Gets the value of the annualEnergyConsumption property.
     * 
     * @return
     *     possible object is
     *     {@link EnergyConsumptionDimension }
     *     
     */
    public EnergyConsumptionDimension getAnnualEnergyConsumption() {
        return annualEnergyConsumption;
    }

    /**
     * Sets the value of the annualEnergyConsumption property.
     * 
     * @param value
     *     allowed object is
     *     {@link EnergyConsumptionDimension }
     *     
     */
    public void setAnnualEnergyConsumption(EnergyConsumptionDimension value) {
        this.annualEnergyConsumption = value;
    }

    /**
     * Gets the value of the answeringSystemType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAnsweringSystemType() {
        return answeringSystemType;
    }

    /**
     * Sets the value of the answeringSystemType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAnsweringSystemType(String value) {
        this.answeringSystemType = value;
    }

    /**
     * Gets the value of the antennaLength property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getAntennaLength() {
        return antennaLength;
    }

    /**
     * Sets the value of the antennaLength property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setAntennaLength(LengthDimension value) {
        this.antennaLength = value;
    }

    /**
     * Gets the value of the antennaType property.
     * 
     * @return
     *     possible object is
     *     {@link AntennaTypeValues }
     *     
     */
    public AntennaTypeValues getAntennaType() {
        return antennaType;
    }

    /**
     * Sets the value of the antennaType property.
     * 
     * @param value
     *     allowed object is
     *     {@link AntennaTypeValues }
     *     
     */
    public void setAntennaType(AntennaTypeValues value) {
        this.antennaType = value;
    }

    /**
     * Gets the value of the aspectRatio property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAspectRatio() {
        return aspectRatio;
    }

    /**
     * Sets the value of the aspectRatio property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAspectRatio(String value) {
        this.aspectRatio = value;
    }

    /**
     * Gets the value of the audioFeaturesDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAudioFeaturesDescription() {
        return audioFeaturesDescription;
    }

    /**
     * Sets the value of the audioFeaturesDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAudioFeaturesDescription(String value) {
        this.audioFeaturesDescription = value;
    }

    /**
     * Gets the value of the audioInput property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the audioInput property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAudioInput().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getAudioInput() {
        if (audioInput == null) {
            audioInput = new ArrayList<String>();
        }
        return this.audioInput;
    }

    /**
     * Gets the value of the audioOutputEffects property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the audioOutputEffects property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAudioOutputEffects().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getAudioOutputEffects() {
        if (audioOutputEffects == null) {
            audioOutputEffects = new ArrayList<String>();
        }
        return this.audioOutputEffects;
    }

    /**
     * Gets the value of the audioOutputMode property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the audioOutputMode property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getAudioOutputMode().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getAudioOutputMode() {
        if (audioOutputMode == null) {
            audioOutputMode = new ArrayList<String>();
        }
        return this.audioOutputMode;
    }

    /**
     * Gets the value of the audioOutputResponseBandwidth property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAudioOutputResponseBandwidth() {
        return audioOutputResponseBandwidth;
    }

    /**
     * Sets the value of the audioOutputResponseBandwidth property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAudioOutputResponseBandwidth(String value) {
        this.audioOutputResponseBandwidth = value;
    }

    /**
     * Gets the value of the audioOutputType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAudioOutputType() {
        return audioOutputType;
    }

    /**
     * Sets the value of the audioOutputType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAudioOutputType(String value) {
        this.audioOutputType = value;
    }

    /**
     * Gets the value of the audioSensitivity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getAudioSensitivity() {
        return audioSensitivity;
    }

    /**
     * Sets the value of the audioSensitivity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setAudioSensitivity(BigInteger value) {
        this.audioSensitivity = value;
    }

    /**
     * Gets the value of the autoRedial property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isAutoRedial() {
        return autoRedial;
    }

    /**
     * Sets the value of the autoRedial property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setAutoRedial(Boolean value) {
        this.autoRedial = value;
    }

    /**
     * Gets the value of the battery property.
     * 
     * @return
     *     possible object is
     *     {@link Battery }
     *     
     */
    public Battery getBattery() {
        return battery;
    }

    /**
     * Sets the value of the battery property.
     * 
     * @param value
     *     allowed object is
     *     {@link Battery }
     *     
     */
    public void setBattery(Battery value) {
        this.battery = value;
    }

    /**
     * Gets the value of the batteryAverageLife property.
     * 
     * @return
     *     possible object is
     *     {@link TimeDimension }
     *     
     */
    public TimeDimension getBatteryAverageLife() {
        return batteryAverageLife;
    }

    /**
     * Sets the value of the batteryAverageLife property.
     * 
     * @param value
     *     allowed object is
     *     {@link TimeDimension }
     *     
     */
    public void setBatteryAverageLife(TimeDimension value) {
        this.batteryAverageLife = value;
    }

    /**
     * Gets the value of the batteryAverageLifeTalkTime property.
     * 
     * @return
     *     possible object is
     *     {@link TimeDimension }
     *     
     */
    public TimeDimension getBatteryAverageLifeTalkTime() {
        return batteryAverageLifeTalkTime;
    }

    /**
     * Sets the value of the batteryAverageLifeTalkTime property.
     * 
     * @param value
     *     allowed object is
     *     {@link TimeDimension }
     *     
     */
    public void setBatteryAverageLifeTalkTime(TimeDimension value) {
        this.batteryAverageLifeTalkTime = value;
    }

    /**
     * Gets the value of the bufferSize property.
     * 
     * @return
     *     possible object is
     *     {@link MemorySizeDimension }
     *     
     */
    public MemorySizeDimension getBufferSize() {
        return bufferSize;
    }

    /**
     * Sets the value of the bufferSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link MemorySizeDimension }
     *     
     */
    public void setBufferSize(MemorySizeDimension value) {
        this.bufferSize = value;
    }

    /**
     * Gets the value of the batteryTypeLithiumIon property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getBatteryTypeLithiumIon() {
        return batteryTypeLithiumIon;
    }

    /**
     * Sets the value of the batteryTypeLithiumIon property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setBatteryTypeLithiumIon(BigInteger value) {
        this.batteryTypeLithiumIon = value;
    }

    /**
     * Gets the value of the batteryTypeLithiumMetal property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getBatteryTypeLithiumMetal() {
        return batteryTypeLithiumMetal;
    }

    /**
     * Sets the value of the batteryTypeLithiumMetal property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setBatteryTypeLithiumMetal(BigInteger value) {
        this.batteryTypeLithiumMetal = value;
    }

    /**
     * Gets the value of the biometricSecurityFeatures property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getBiometricSecurityFeatures() {
        return biometricSecurityFeatures;
    }

    /**
     * Sets the value of the biometricSecurityFeatures property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setBiometricSecurityFeatures(String value) {
        this.biometricSecurityFeatures = value;
    }

    /**
     * Gets the value of the builtInDecoders property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the builtInDecoders property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getBuiltInDecoders().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getBuiltInDecoders() {
        if (builtInDecoders == null) {
            builtInDecoders = new ArrayList<String>();
        }
        return this.builtInDecoders;
    }

    /**
     * Gets the value of the buttonQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getButtonQuantity() {
        return buttonQuantity;
    }

    /**
     * Sets the value of the buttonQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setButtonQuantity(BigInteger value) {
        this.buttonQuantity = value;
    }

    /**
     * Gets the value of the cabinetMaterial property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCabinetMaterial() {
        return cabinetMaterial;
    }

    /**
     * Sets the value of the cabinetMaterial property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCabinetMaterial(String value) {
        this.cabinetMaterial = value;
    }

    /**
     * Gets the value of the cableFeature property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the cableFeature property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getCableFeature().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getCableFeature() {
        if (cableFeature == null) {
            cableFeature = new ArrayList<String>();
        }
        return this.cableFeature;
    }

    /**
     * Gets the value of the cableTechnology property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the cableTechnology property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getCableTechnology().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getCableTechnology() {
        if (cableTechnology == null) {
            cableTechnology = new ArrayList<String>();
        }
        return this.cableTechnology;
    }

    /**
     * Gets the value of the cableType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCableType() {
        return cableType;
    }

    /**
     * Sets the value of the cableType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCableType(String value) {
        this.cableType = value;
    }

    /**
     * Gets the value of the cacheMemoryInstalledSize property.
     * 
     * @return
     *     possible object is
     *     {@link MemorySizeDimension }
     *     
     */
    public MemorySizeDimension getCacheMemoryInstalledSize() {
        return cacheMemoryInstalledSize;
    }

    /**
     * Sets the value of the cacheMemoryInstalledSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link MemorySizeDimension }
     *     
     */
    public void setCacheMemoryInstalledSize(MemorySizeDimension value) {
        this.cacheMemoryInstalledSize = value;
    }

    /**
     * Gets the value of the callAlerts property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCallAlerts() {
        return callAlerts;
    }

    /**
     * Sets the value of the callAlerts property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCallAlerts(String value) {
        this.callAlerts = value;
    }

    /**
     * Gets the value of the callerIdentification property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isCallerIdentification() {
        return callerIdentification;
    }

    /**
     * Sets the value of the callerIdentification property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setCallerIdentification(Boolean value) {
        this.callerIdentification = value;
    }

    /**
     * Gets the value of the carryingStrap property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the carryingStrap property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getCarryingStrap().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getCarryingStrap() {
        if (carryingStrap == null) {
            carryingStrap = new ArrayList<String>();
        }
        return this.carryingStrap;
    }

    /**
     * Gets the value of the cassetteSystemType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCassetteSystemType() {
        return cassetteSystemType;
    }

    /**
     * Sets the value of the cassetteSystemType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCassetteSystemType(String value) {
        this.cassetteSystemType = value;
    }

    /**
     * Gets the value of the cdChangerType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCDChangerType() {
        return cdChangerType;
    }

    /**
     * Sets the value of the cdChangerType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCDChangerType(String value) {
        this.cdChangerType = value;
    }

    /**
     * Gets the value of the cdDiskCapacity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getCDDiskCapacity() {
        return cdDiskCapacity;
    }

    /**
     * Sets the value of the cdDiskCapacity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setCDDiskCapacity(BigInteger value) {
        this.cdDiskCapacity = value;
    }

    /**
     * Gets the value of the cdLoadType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCDLoadType() {
        return cdLoadType;
    }

    /**
     * Sets the value of the cdLoadType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCDLoadType(String value) {
        this.cdLoadType = value;
    }

    /**
     * Gets the value of the cdPlaybackMode property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the cdPlaybackMode property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getCDPlaybackMode().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getCDPlaybackMode() {
        if (cdPlaybackMode == null) {
            cdPlaybackMode = new ArrayList<String>();
        }
        return this.cdPlaybackMode;
    }

    /**
     * Gets the value of the cdSystemType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCDSystemType() {
        return cdSystemType;
    }

    /**
     * Sets the value of the cdSystemType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCDSystemType(String value) {
        this.cdSystemType = value;
    }

    /**
     * Gets the value of the cellularEnhancementProtocol property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the cellularEnhancementProtocol property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getCellularEnhancementProtocol().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getCellularEnhancementProtocol() {
        if (cellularEnhancementProtocol == null) {
            cellularEnhancementProtocol = new ArrayList<String>();
        }
        return this.cellularEnhancementProtocol;
    }

    /**
     * Gets the value of the coaxialDigitalInput property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCoaxialDigitalInput() {
        return coaxialDigitalInput;
    }

    /**
     * Sets the value of the coaxialDigitalInput property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCoaxialDigitalInput(String value) {
        this.coaxialDigitalInput = value;
    }

    /**
     * Gets the value of the coaxialDigitalOutput property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCoaxialDigitalOutput() {
        return coaxialDigitalOutput;
    }

    /**
     * Sets the value of the coaxialDigitalOutput property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCoaxialDigitalOutput(String value) {
        this.coaxialDigitalOutput = value;
    }

    /**
     * Gets the value of the color property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getColor() {
        return color;
    }

    /**
     * Sets the value of the color property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setColor(String value) {
        this.color = value;
    }

    /**
     * Gets the value of the colorDepth property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the colorDepth property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getColorDepth().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getColorDepth() {
        if (colorDepth == null) {
            colorDepth = new ArrayList<String>();
        }
        return this.colorDepth;
    }

    /**
     * Gets the value of the colorMap property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getColorMap() {
        return colorMap;
    }

    /**
     * Sets the value of the colorMap property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setColorMap(String value) {
        this.colorMap = value;
    }

    /**
     * Gets the value of the colorSupport property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the colorSupport property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getColorSupport().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getColorSupport() {
        if (colorSupport == null) {
            colorSupport = new ArrayList<String>();
        }
        return this.colorSupport;
    }

    /**
     * Gets the value of the compatibleCartridge property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the compatibleCartridge property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getCompatibleCartridge().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getCompatibleCartridge() {
        if (compatibleCartridge == null) {
            compatibleCartridge = new ArrayList<String>();
        }
        return this.compatibleCartridge;
    }

    /**
     * Gets the value of the compatibleDevices property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the compatibleDevices property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getCompatibleDevices().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getCompatibleDevices() {
        if (compatibleDevices == null) {
            compatibleDevices = new ArrayList<String>();
        }
        return this.compatibleDevices;
    }

    /**
     * Gets the value of the componentType property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the componentType property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getComponentType().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getComponentType() {
        if (componentType == null) {
            componentType = new ArrayList<String>();
        }
        return this.componentType;
    }

    /**
     * Gets the value of the compressedCapacity property.
     * 
     * @return
     *     possible object is
     *     {@link MemorySizeDimension }
     *     
     */
    public MemorySizeDimension getCompressedCapacity() {
        return compressedCapacity;
    }

    /**
     * Sets the value of the compressedCapacity property.
     * 
     * @param value
     *     allowed object is
     *     {@link MemorySizeDimension }
     *     
     */
    public void setCompressedCapacity(MemorySizeDimension value) {
        this.compressedCapacity = value;
    }

    /**
     * Gets the value of the computerPeripheralConnector property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the computerPeripheralConnector property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getComputerPeripheralConnector().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getComputerPeripheralConnector() {
        if (computerPeripheralConnector == null) {
            computerPeripheralConnector = new ArrayList<String>();
        }
        return this.computerPeripheralConnector;
    }

    /**
     * Gets the value of the conferenceCallCapability property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getConferenceCallCapability() {
        return conferenceCallCapability;
    }

    /**
     * Sets the value of the conferenceCallCapability property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setConferenceCallCapability(String value) {
        this.conferenceCallCapability = value;
    }

    /**
     * Gets the value of the connectivityProtocol property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the connectivityProtocol property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getConnectivityProtocol().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getConnectivityProtocol() {
        if (connectivityProtocol == null) {
            connectivityProtocol = new ArrayList<String>();
        }
        return this.connectivityProtocol;
    }

    /**
     * Gets the value of the connectivityTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getConnectivityTechnology() {
        return connectivityTechnology;
    }

    /**
     * Sets the value of the connectivityTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setConnectivityTechnology(String value) {
        this.connectivityTechnology = value;
    }

    /**
     * Gets the value of the copierType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCopierType() {
        return copierType;
    }

    /**
     * Sets the value of the copierType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCopierType(String value) {
        this.copierType = value;
    }

    /**
     * Gets the value of the copySizeMaximum property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCopySizeMaximum() {
        return copySizeMaximum;
    }

    /**
     * Sets the value of the copySizeMaximum property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCopySizeMaximum(String value) {
        this.copySizeMaximum = value;
    }

    /**
     * Gets the value of the countryOfOrigin property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCountryOfOrigin() {
        return countryOfOrigin;
    }

    /**
     * Sets the value of the countryOfOrigin property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCountryOfOrigin(String value) {
        this.countryOfOrigin = value;
    }

    /**
     * Gets the value of the crossoverFrequency property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCrossoverFrequency() {
        return crossoverFrequency;
    }

    /**
     * Sets the value of the crossoverFrequency property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCrossoverFrequency(String value) {
        this.crossoverFrequency = value;
    }

    /**
     * Gets the value of the dacDataWidth property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDACDataWidth() {
        return dacDataWidth;
    }

    /**
     * Sets the value of the dacDataWidth property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDACDataWidth(String value) {
        this.dacDataWidth = value;
    }

    /**
     * Gets the value of the dataCompressionProtocol property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the dataCompressionProtocol property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDataCompressionProtocol().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getDataCompressionProtocol() {
        if (dataCompressionProtocol == null) {
            dataCompressionProtocol = new ArrayList<String>();
        }
        return this.dataCompressionProtocol;
    }

    /**
     * Gets the value of the dataLinkProtocol property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the dataLinkProtocol property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDataLinkProtocol().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getDataLinkProtocol() {
        if (dataLinkProtocol == null) {
            dataLinkProtocol = new ArrayList<String>();
        }
        return this.dataLinkProtocol;
    }

    /**
     * Gets the value of the dataService property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDataService() {
        return dataService;
    }

    /**
     * Sets the value of the dataService property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDataService(String value) {
        this.dataService = value;
    }

    /**
     * Gets the value of the dataStorageCapability property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDataStorageCapability() {
        return dataStorageCapability;
    }

    /**
     * Sets the value of the dataStorageCapability property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDataStorageCapability(String value) {
        this.dataStorageCapability = value;
    }

    /**
     * Gets the value of the dataTransferRate property.
     * 
     * @return
     *     possible object is
     *     {@link CE.DataTransferRate }
     *     
     */
    public CE.DataTransferRate getDataTransferRate() {
        return dataTransferRate;
    }

    /**
     * Sets the value of the dataTransferRate property.
     * 
     * @param value
     *     allowed object is
     *     {@link CE.DataTransferRate }
     *     
     */
    public void setDataTransferRate(CE.DataTransferRate value) {
        this.dataTransferRate = value;
    }

    /**
     * Gets the value of the deviceType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDeviceType() {
        return deviceType;
    }

    /**
     * Sets the value of the deviceType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDeviceType(String value) {
        this.deviceType = value;
    }

    /**
     * Gets the value of the dgps property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDGPS() {
        return dgps;
    }

    /**
     * Sets the value of the dgps property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDGPS(String value) {
        this.dgps = value;
    }

    /**
     * Gets the value of the dialerType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDialerType() {
        return dialerType;
    }

    /**
     * Sets the value of the dialerType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDialerType(String value) {
        this.dialerType = value;
    }

    /**
     * Gets the value of the digitalPlayerType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDigitalPlayerType() {
        return digitalPlayerType;
    }

    /**
     * Sets the value of the digitalPlayerType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDigitalPlayerType(String value) {
        this.digitalPlayerType = value;
    }

    /**
     * Gets the value of the digitalRecordingTime property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the digitalRecordingTime property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDigitalRecordingTime().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getDigitalRecordingTime() {
        if (digitalRecordingTime == null) {
            digitalRecordingTime = new ArrayList<String>();
        }
        return this.digitalRecordingTime;
    }

    /**
     * Gets the value of the digitalSignalingProtocol property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the digitalSignalingProtocol property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDigitalSignalingProtocol().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getDigitalSignalingProtocol() {
        if (digitalSignalingProtocol == null) {
            digitalSignalingProtocol = new ArrayList<String>();
        }
        return this.digitalSignalingProtocol;
    }

    /**
     * Gets the value of the digitalStorageCapacity property.
     * 
     * @return
     *     possible object is
     *     {@link MemorySizeDimension }
     *     
     */
    public MemorySizeDimension getDigitalStorageCapacity() {
        return digitalStorageCapacity;
    }

    /**
     * Sets the value of the digitalStorageCapacity property.
     * 
     * @param value
     *     allowed object is
     *     {@link MemorySizeDimension }
     *     
     */
    public void setDigitalStorageCapacity(MemorySizeDimension value) {
        this.digitalStorageCapacity = value;
    }

    /**
     * Gets the value of the digitalZoom property.
     * 
     * @return
     *     possible object is
     *     {@link ZoomDimension }
     *     
     */
    public ZoomDimension getDigitalZoom() {
        return digitalZoom;
    }

    /**
     * Sets the value of the digitalZoom property.
     * 
     * @param value
     *     allowed object is
     *     {@link ZoomDimension }
     *     
     */
    public void setDigitalZoom(ZoomDimension value) {
        this.digitalZoom = value;
    }

    /**
     * Gets the value of the displayColorSupport property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the displayColorSupport property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDisplayColorSupport().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getDisplayColorSupport() {
        if (displayColorSupport == null) {
            displayColorSupport = new ArrayList<String>();
        }
        return this.displayColorSupport;
    }

    /**
     * Gets the value of the displayLanguageOptions property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDisplayLanguageOptions() {
        return displayLanguageOptions;
    }

    /**
     * Sets the value of the displayLanguageOptions property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDisplayLanguageOptions(String value) {
        this.displayLanguageOptions = value;
    }

    /**
     * Gets the value of the displayLineQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getDisplayLineQuantity() {
        return displayLineQuantity;
    }

    /**
     * Sets the value of the displayLineQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setDisplayLineQuantity(BigInteger value) {
        this.displayLineQuantity = value;
    }

    /**
     * Gets the value of the displayResolutionMaximum property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDisplayResolutionMaximum() {
        return displayResolutionMaximum;
    }

    /**
     * Sets the value of the displayResolutionMaximum property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDisplayResolutionMaximum(String value) {
        this.displayResolutionMaximum = value;
    }

    /**
     * Gets the value of the displayTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDisplayTechnology() {
        return displayTechnology;
    }

    /**
     * Sets the value of the displayTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDisplayTechnology(String value) {
        this.displayTechnology = value;
    }

    /**
     * Gets the value of the displayType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDisplayType() {
        return displayType;
    }

    /**
     * Sets the value of the displayType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDisplayType(String value) {
        this.displayType = value;
    }

    /**
     * Gets the value of the dockingStationExternalInterface property.
     * 
     * @return
     *     possible object is
     *     {@link DockingStationExternalInterfaceTypeValues }
     *     
     */
    public DockingStationExternalInterfaceTypeValues getDockingStationExternalInterface() {
        return dockingStationExternalInterface;
    }

    /**
     * Sets the value of the dockingStationExternalInterface property.
     * 
     * @param value
     *     allowed object is
     *     {@link DockingStationExternalInterfaceTypeValues }
     *     
     */
    public void setDockingStationExternalInterface(DockingStationExternalInterfaceTypeValues value) {
        this.dockingStationExternalInterface = value;
    }

    /**
     * Gets the value of the driveUnits property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDriveUnits() {
        return driveUnits;
    }

    /**
     * Sets the value of the driveUnits property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDriveUnits(String value) {
        this.driveUnits = value;
    }

    /**
     * Gets the value of the duplex property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDuplex() {
        return duplex;
    }

    /**
     * Sets the value of the duplex property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDuplex(String value) {
        this.duplex = value;
    }

    /**
     * Gets the value of the dvdDiskCapacity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getDVDDiskCapacity() {
        return dvdDiskCapacity;
    }

    /**
     * Sets the value of the dvdDiskCapacity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setDVDDiskCapacity(BigInteger value) {
        this.dvdDiskCapacity = value;
    }

    /**
     * Gets the value of the dvdDiskChangerType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDVDDiskChangerType() {
        return dvdDiskChangerType;
    }

    /**
     * Sets the value of the dvdDiskChangerType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDVDDiskChangerType(String value) {
        this.dvdDiskChangerType = value;
    }

    /**
     * Gets the value of the dvdMediaLoadType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDVDMediaLoadType() {
        return dvdMediaLoadType;
    }

    /**
     * Sets the value of the dvdMediaLoadType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDVDMediaLoadType(String value) {
        this.dvdMediaLoadType = value;
    }

    /**
     * Gets the value of the dvdPictureZoomPower property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the dvdPictureZoomPower property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDVDPictureZoomPower().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getDVDPictureZoomPower() {
        if (dvdPictureZoomPower == null) {
            dvdPictureZoomPower = new ArrayList<String>();
        }
        return this.dvdPictureZoomPower;
    }

    /**
     * Gets the value of the dvdPlaybackMode property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the dvdPlaybackMode property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDVDPlaybackMode().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getDVDPlaybackMode() {
        if (dvdPlaybackMode == null) {
            dvdPlaybackMode = new ArrayList<String>();
        }
        return this.dvdPlaybackMode;
    }

    /**
     * Gets the value of the dvdType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDVDType() {
        return dvdType;
    }

    /**
     * Sets the value of the dvdType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDVDType(String value) {
        this.dvdType = value;
    }

    /**
     * Gets the value of the dvrCompressionRate property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDVRCompressionRate() {
        return dvrCompressionRate;
    }

    /**
     * Sets the value of the dvrCompressionRate property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDVRCompressionRate(String value) {
        this.dvrCompressionRate = value;
    }

    /**
     * Gets the value of the dvrMaxRecordingTime property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getDVRMaxRecordingTime() {
        return dvrMaxRecordingTime;
    }

    /**
     * Sets the value of the dvrMaxRecordingTime property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setDVRMaxRecordingTime(BigInteger value) {
        this.dvrMaxRecordingTime = value;
    }

    /**
     * Gets the value of the dvrServiceDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDVRServiceDescription() {
        return dvrServiceDescription;
    }

    /**
     * Sets the value of the dvrServiceDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDVRServiceDescription(String value) {
        this.dvrServiceDescription = value;
    }

    /**
     * Gets the value of the enclosure property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getEnclosure() {
        return enclosure;
    }

    /**
     * Sets the value of the enclosure property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setEnclosure(String value) {
        this.enclosure = value;
    }

    /**
     * Gets the value of the equalizer property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getEqualizer() {
        return equalizer;
    }

    /**
     * Sets the value of the equalizer property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setEqualizer(String value) {
        this.equalizer = value;
    }

    /**
     * Gets the value of the equalizerBandChannels property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getEqualizerBandChannels() {
        return equalizerBandChannels;
    }

    /**
     * Sets the value of the equalizerBandChannels property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setEqualizerBandChannels(String value) {
        this.equalizerBandChannels = value;
    }

    /**
     * Gets the value of the errorCorrectionProtocol property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the errorCorrectionProtocol property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getErrorCorrectionProtocol().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getErrorCorrectionProtocol() {
        if (errorCorrectionProtocol == null) {
            errorCorrectionProtocol = new ArrayList<String>();
        }
        return this.errorCorrectionProtocol;
    }

    /**
     * Gets the value of the eyeRelief property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getEyeRelief() {
        return eyeRelief;
    }

    /**
     * Sets the value of the eyeRelief property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setEyeRelief(LengthDimension value) {
        this.eyeRelief = value;
    }

    /**
     * Gets the value of the faceplateType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFaceplateType() {
        return faceplateType;
    }

    /**
     * Sets the value of the faceplateType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFaceplateType(String value) {
        this.faceplateType = value;
    }

    /**
     * Gets the value of the faxMachineCompatibility property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFaxMachineCompatibility() {
        return faxMachineCompatibility;
    }

    /**
     * Sets the value of the faxMachineCompatibility property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFaxMachineCompatibility(String value) {
        this.faxMachineCompatibility = value;
    }

    /**
     * Gets the value of the faxType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFaxType() {
        return faxType;
    }

    /**
     * Sets the value of the faxType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFaxType(String value) {
        this.faxType = value;
    }

    /**
     * Gets the value of the flashMemoryInstalledSize property.
     * 
     * @return
     *     possible object is
     *     {@link MemorySizeDimension }
     *     
     */
    public MemorySizeDimension getFlashMemoryInstalledSize() {
        return flashMemoryInstalledSize;
    }

    /**
     * Sets the value of the flashMemoryInstalledSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link MemorySizeDimension }
     *     
     */
    public void setFlashMemoryInstalledSize(MemorySizeDimension value) {
        this.flashMemoryInstalledSize = value;
    }

    /**
     * Gets the value of the floppyDiskDrive property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFloppyDiskDrive() {
        return floppyDiskDrive;
    }

    /**
     * Sets the value of the floppyDiskDrive property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFloppyDiskDrive(String value) {
        this.floppyDiskDrive = value;
    }

    /**
     * Gets the value of the formFactor property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the formFactor property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getFormFactor().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getFormFactor() {
        if (formFactor == null) {
            formFactor = new ArrayList<String>();
        }
        return this.formFactor;
    }

    /**
     * Gets the value of the freeAirResonantFrequency property.
     * 
     * @return
     *     possible object is
     *     {@link FrequencyDimension }
     *     
     */
    public FrequencyDimension getFreeAirResonantFrequency() {
        return freeAirResonantFrequency;
    }

    /**
     * Sets the value of the freeAirResonantFrequency property.
     * 
     * @param value
     *     allowed object is
     *     {@link FrequencyDimension }
     *     
     */
    public void setFreeAirResonantFrequency(FrequencyDimension value) {
        this.freeAirResonantFrequency = value;
    }

    /**
     * Gets the value of the frequencyRange property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the frequencyRange property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getFrequencyRange().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getFrequencyRange() {
        if (frequencyRange == null) {
            frequencyRange = new ArrayList<String>();
        }
        return this.frequencyRange;
    }

    /**
     * Gets the value of the frequencyRequired property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFrequencyRequired() {
        return frequencyRequired;
    }

    /**
     * Sets the value of the frequencyRequired property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFrequencyRequired(String value) {
        this.frequencyRequired = value;
    }

    /**
     * Gets the value of the frequencyResponseCurve property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFrequencyResponseCurve() {
        return frequencyResponseCurve;
    }

    /**
     * Sets the value of the frequencyResponseCurve property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFrequencyResponseCurve(String value) {
        this.frequencyResponseCurve = value;
    }

    /**
     * Gets the value of the frontAccessibleBaysQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getFrontAccessibleBaysQuantity() {
        return frontAccessibleBaysQuantity;
    }

    /**
     * Sets the value of the frontAccessibleBaysQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setFrontAccessibleBaysQuantity(BigInteger value) {
        this.frontAccessibleBaysQuantity = value;
    }

    /**
     * Gets the value of the fuseDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFuseDescription() {
        return fuseDescription;
    }

    /**
     * Sets the value of the fuseDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFuseDescription(String value) {
        this.fuseDescription = value;
    }

    /**
     * Gets the value of the gpsNavigation property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getGPSNavigation() {
        return gpsNavigation;
    }

    /**
     * Sets the value of the gpsNavigation property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setGPSNavigation(String value) {
        this.gpsNavigation = value;
    }

    /**
     * Gets the value of the graphicsCoprocessor property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getGraphicsCoprocessor() {
        return graphicsCoprocessor;
    }

    /**
     * Sets the value of the graphicsCoprocessor property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setGraphicsCoprocessor(String value) {
        this.graphicsCoprocessor = value;
    }

    /**
     * Gets the value of the graphicsCoprocessorQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getGraphicsCoprocessorQuantity() {
        return graphicsCoprocessorQuantity;
    }

    /**
     * Sets the value of the graphicsCoprocessorQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setGraphicsCoprocessorQuantity(BigInteger value) {
        this.graphicsCoprocessorQuantity = value;
    }

    /**
     * Gets the value of the graphicsRam property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getGraphicsRam() {
        return graphicsRam;
    }

    /**
     * Sets the value of the graphicsRam property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setGraphicsRam(BigDecimal value) {
        this.graphicsRam = value;
    }

    /**
     * Gets the value of the greyscaleDepth property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the greyscaleDepth property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getGreyscaleDepth().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getGreyscaleDepth() {
        if (greyscaleDepth == null) {
            greyscaleDepth = new ArrayList<String>();
        }
        return this.greyscaleDepth;
    }

    /**
     * Gets the value of the handsetDepth property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getHandsetDepth() {
        return handsetDepth;
    }

    /**
     * Sets the value of the handsetDepth property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setHandsetDepth(LengthDimension value) {
        this.handsetDepth = value;
    }

    /**
     * Gets the value of the handsetHeight property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getHandsetHeight() {
        return handsetHeight;
    }

    /**
     * Sets the value of the handsetHeight property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setHandsetHeight(LengthDimension value) {
        this.handsetHeight = value;
    }

    /**
     * Gets the value of the handsetLocator property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isHandsetLocator() {
        return handsetLocator;
    }

    /**
     * Sets the value of the handsetLocator property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setHandsetLocator(Boolean value) {
        this.handsetLocator = value;
    }

    /**
     * Gets the value of the handsetWeight property.
     * 
     * @return
     *     possible object is
     *     {@link WeightDimension }
     *     
     */
    public WeightDimension getHandsetWeight() {
        return handsetWeight;
    }

    /**
     * Sets the value of the handsetWeight property.
     * 
     * @param value
     *     allowed object is
     *     {@link WeightDimension }
     *     
     */
    public void setHandsetWeight(WeightDimension value) {
        this.handsetWeight = value;
    }

    /**
     * Gets the value of the handsetWidth property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getHandsetWidth() {
        return handsetWidth;
    }

    /**
     * Sets the value of the handsetWidth property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setHandsetWidth(LengthDimension value) {
        this.handsetWidth = value;
    }

    /**
     * Gets the value of the hardDiskDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getHardDiskDescription() {
        return hardDiskDescription;
    }

    /**
     * Sets the value of the hardDiskDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setHardDiskDescription(String value) {
        this.hardDiskDescription = value;
    }

    /**
     * Gets the value of the hardDiskInstalledQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getHardDiskInstalledQuantity() {
        return hardDiskInstalledQuantity;
    }

    /**
     * Sets the value of the hardDiskInstalledQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setHardDiskInstalledQuantity(BigInteger value) {
        this.hardDiskInstalledQuantity = value;
    }

    /**
     * Gets the value of the hardDiskRotationalSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getHardDiskRotationalSpeed() {
        return hardDiskRotationalSpeed;
    }

    /**
     * Sets the value of the hardDiskRotationalSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setHardDiskRotationalSpeed(BigInteger value) {
        this.hardDiskRotationalSpeed = value;
    }

    /**
     * Gets the value of the hardwareInterface property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the hardwareInterface property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getHardwareInterface().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getHardwareInterface() {
        if (hardwareInterface == null) {
            hardwareInterface = new ArrayList<String>();
        }
        return this.hardwareInterface;
    }

    /**
     * Gets the value of the hasCommercialSkip property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isHasCommercialSkip() {
        return hasCommercialSkip;
    }

    /**
     * Sets the value of the hasCommercialSkip property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setHasCommercialSkip(Boolean value) {
        this.hasCommercialSkip = value;
    }

    /**
     * Gets the value of the hasDVDPictureZoom property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isHasDVDPictureZoom() {
        return hasDVDPictureZoom;
    }

    /**
     * Sets the value of the hasDVDPictureZoom property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setHasDVDPictureZoom(Boolean value) {
        this.hasDVDPictureZoom = value;
    }

    /**
     * Gets the value of the hasParentalChannelLock property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isHasParentalChannelLock() {
        return hasParentalChannelLock;
    }

    /**
     * Sets the value of the hasParentalChannelLock property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setHasParentalChannelLock(Boolean value) {
        this.hasParentalChannelLock = value;
    }

    /**
     * Gets the value of the headphonesFormFactor property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getHeadphonesFormFactor() {
        return headphonesFormFactor;
    }

    /**
     * Sets the value of the headphonesFormFactor property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setHeadphonesFormFactor(String value) {
        this.headphonesFormFactor = value;
    }

    /**
     * Gets the value of the headphonesJack property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getHeadphonesJack() {
        return headphonesJack;
    }

    /**
     * Sets the value of the headphonesJack property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setHeadphonesJack(String value) {
        this.headphonesJack = value;
    }

    /**
     * Gets the value of the headphonesTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getHeadphonesTechnology() {
        return headphonesTechnology;
    }

    /**
     * Sets the value of the headphonesTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setHeadphonesTechnology(String value) {
        this.headphonesTechnology = value;
    }

    /**
     * Gets the value of the horizontalResolution property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getHorizontalResolution() {
        return horizontalResolution;
    }

    /**
     * Sets the value of the horizontalResolution property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setHorizontalResolution(BigInteger value) {
        this.horizontalResolution = value;
    }

    /**
     * Gets the value of the hotSwapBaysQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getHotSwapBaysQuantity() {
        return hotSwapBaysQuantity;
    }

    /**
     * Sets the value of the hotSwapBaysQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setHotSwapBaysQuantity(BigInteger value) {
        this.hotSwapBaysQuantity = value;
    }

    /**
     * Gets the value of the humanInterfaceInput property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the humanInterfaceInput property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getHumanInterfaceInput().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link HumanInterfaceInputType }
     * 
     * 
     */
    public List<HumanInterfaceInputType> getHumanInterfaceInput() {
        if (humanInterfaceInput == null) {
            humanInterfaceInput = new ArrayList<HumanInterfaceInputType>();
        }
        return this.humanInterfaceInput;
    }

    /**
     * Gets the value of the humanInterfaceOutput property.
     * 
     * @return
     *     possible object is
     *     {@link HumanInterfaceOutputType }
     *     
     */
    public HumanInterfaceOutputType getHumanInterfaceOutput() {
        return humanInterfaceOutput;
    }

    /**
     * Sets the value of the humanInterfaceOutput property.
     * 
     * @param value
     *     allowed object is
     *     {@link HumanInterfaceOutputType }
     *     
     */
    public void setHumanInterfaceOutput(HumanInterfaceOutputType value) {
        this.humanInterfaceOutput = value;
    }

    /**
     * Gets the value of the imageAspectRatio property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the imageAspectRatio property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getImageAspectRatio().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getImageAspectRatio() {
        if (imageAspectRatio == null) {
            imageAspectRatio = new ArrayList<String>();
        }
        return this.imageAspectRatio;
    }

    /**
     * Gets the value of the imageBrightness property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getImageBrightness() {
        return imageBrightness;
    }

    /**
     * Sets the value of the imageBrightness property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setImageBrightness(String value) {
        this.imageBrightness = value;
    }

    /**
     * Gets the value of the imageContrastRatio property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getImageContrastRatio() {
        return imageContrastRatio;
    }

    /**
     * Sets the value of the imageContrastRatio property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setImageContrastRatio(String value) {
        this.imageContrastRatio = value;
    }

    /**
     * Gets the value of the impedance property.
     * 
     * @return
     *     possible object is
     *     {@link ResistanceDimension }
     *     
     */
    public ResistanceDimension getImpedance() {
        return impedance;
    }

    /**
     * Sets the value of the impedance property.
     * 
     * @param value
     *     allowed object is
     *     {@link ResistanceDimension }
     *     
     */
    public void setImpedance(ResistanceDimension value) {
        this.impedance = value;
    }

    /**
     * Gets the value of the includesMP3Player property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isIncludesMP3Player() {
        return includesMP3Player;
    }

    /**
     * Sets the value of the includesMP3Player property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setIncludesMP3Player(Boolean value) {
        this.includesMP3Player = value;
    }

    /**
     * Gets the value of the includesRechargableBattery property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isIncludesRechargableBattery() {
        return includesRechargableBattery;
    }

    /**
     * Sets the value of the includesRechargableBattery property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setIncludesRechargableBattery(Boolean value) {
        this.includesRechargableBattery = value;
    }

    /**
     * Gets the value of the includesRemote property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isIncludesRemote() {
        return includesRemote;
    }

    /**
     * Sets the value of the includesRemote property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setIncludesRemote(Boolean value) {
        this.includesRemote = value;
    }

    /**
     * Gets the value of the includesSpeakerphone property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isIncludesSpeakerphone() {
        return includesSpeakerphone;
    }

    /**
     * Sets the value of the includesSpeakerphone property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setIncludesSpeakerphone(Boolean value) {
        this.includesSpeakerphone = value;
    }

    /**
     * Gets the value of the inputAdapter property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the inputAdapter property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getInputAdapter().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getInputAdapter() {
        if (inputAdapter == null) {
            inputAdapter = new ArrayList<String>();
        }
        return this.inputAdapter;
    }

    /**
     * Gets the value of the inputChannelQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getInputChannelQuantity() {
        return inputChannelQuantity;
    }

    /**
     * Sets the value of the inputChannelQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setInputChannelQuantity(BigInteger value) {
        this.inputChannelQuantity = value;
    }

    /**
     * Gets the value of the inputConnection property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the inputConnection property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getInputConnection().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link Connection }
     * 
     * 
     */
    public List<Connection> getInputConnection() {
        if (inputConnection == null) {
            inputConnection = new ArrayList<Connection>();
        }
        return this.inputConnection;
    }

    /**
     * Gets the value of the inputConnectorType property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the inputConnectorType property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getInputConnectorType().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getInputConnectorType() {
        if (inputConnectorType == null) {
            inputConnectorType = new ArrayList<String>();
        }
        return this.inputConnectorType;
    }

    /**
     * Gets the value of the inputDevice property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the inputDevice property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getInputDevice().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getInputDevice() {
        if (inputDevice == null) {
            inputDevice = new ArrayList<String>();
        }
        return this.inputDevice;
    }

    /**
     * Gets the value of the inputDeviceInterface property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the inputDeviceInterface property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getInputDeviceInterface().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getInputDeviceInterface() {
        if (inputDeviceInterface == null) {
            inputDeviceInterface = new ArrayList<String>();
        }
        return this.inputDeviceInterface;
    }

    /**
     * Gets the value of the intercom property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isIntercom() {
        return intercom;
    }

    /**
     * Sets the value of the intercom property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setIntercom(Boolean value) {
        this.intercom = value;
    }

    /**
     * Gets the value of the internalBaysQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getInternalBaysQuantity() {
        return internalBaysQuantity;
    }

    /**
     * Sets the value of the internalBaysQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setInternalBaysQuantity(BigInteger value) {
        this.internalBaysQuantity = value;
    }

    /**
     * Gets the value of the isdnTerminalAdapterInterface property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getISDNTerminalAdapterInterface() {
        return isdnTerminalAdapterInterface;
    }

    /**
     * Sets the value of the isdnTerminalAdapterInterface property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setISDNTerminalAdapterInterface(String value) {
        this.isdnTerminalAdapterInterface = value;
    }

    /**
     * Gets the value of the isHDTVCompatible property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isIsHDTVCompatible() {
        return isHDTVCompatible;
    }

    /**
     * Sets the value of the isHDTVCompatible property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setIsHDTVCompatible(Boolean value) {
        this.isHDTVCompatible = value;
    }

    /**
     * Gets the value of the isWaterproof property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isIsWaterproof() {
        return isWaterproof;
    }

    /**
     * Sets the value of the isWaterproof property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setIsWaterproof(Boolean value) {
        this.isWaterproof = value;
    }

    /**
     * Gets the value of the itemDisplayDepth property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getItemDisplayDepth() {
        return itemDisplayDepth;
    }

    /**
     * Sets the value of the itemDisplayDepth property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setItemDisplayDepth(LengthDimension value) {
        this.itemDisplayDepth = value;
    }

    /**
     * Gets the value of the itemDisplayHeight property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getItemDisplayHeight() {
        return itemDisplayHeight;
    }

    /**
     * Sets the value of the itemDisplayHeight property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setItemDisplayHeight(LengthDimension value) {
        this.itemDisplayHeight = value;
    }

    /**
     * Gets the value of the itemDisplayLength property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getItemDisplayLength() {
        return itemDisplayLength;
    }

    /**
     * Sets the value of the itemDisplayLength property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setItemDisplayLength(LengthDimension value) {
        this.itemDisplayLength = value;
    }

    /**
     * Gets the value of the itemDisplayLengthMaximum property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getItemDisplayLengthMaximum() {
        return itemDisplayLengthMaximum;
    }

    /**
     * Sets the value of the itemDisplayLengthMaximum property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setItemDisplayLengthMaximum(LengthDimension value) {
        this.itemDisplayLengthMaximum = value;
    }

    /**
     * Gets the value of the itemDisplayWeight property.
     * 
     * @return
     *     possible object is
     *     {@link WeightDimension }
     *     
     */
    public WeightDimension getItemDisplayWeight() {
        return itemDisplayWeight;
    }

    /**
     * Sets the value of the itemDisplayWeight property.
     * 
     * @param value
     *     allowed object is
     *     {@link WeightDimension }
     *     
     */
    public void setItemDisplayWeight(WeightDimension value) {
        this.itemDisplayWeight = value;
    }

    /**
     * Gets the value of the itemDisplayWidth property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getItemDisplayWidth() {
        return itemDisplayWidth;
    }

    /**
     * Sets the value of the itemDisplayWidth property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setItemDisplayWidth(LengthDimension value) {
        this.itemDisplayWidth = value;
    }

    /**
     * Gets the value of the lithiumBatteryEnergyContent property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getLithiumBatteryEnergyContent() {
        return lithiumBatteryEnergyContent;
    }

    /**
     * Sets the value of the lithiumBatteryEnergyContent property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setLithiumBatteryEnergyContent(BigDecimal value) {
        this.lithiumBatteryEnergyContent = value;
    }

    /**
     * Gets the value of the lithiumBatteryPackaging property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLithiumBatteryPackaging() {
        return lithiumBatteryPackaging;
    }

    /**
     * Sets the value of the lithiumBatteryPackaging property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLithiumBatteryPackaging(String value) {
        this.lithiumBatteryPackaging = value;
    }

    /**
     * Gets the value of the lithiumBatteryVoltage property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getLithiumBatteryVoltage() {
        return lithiumBatteryVoltage;
    }

    /**
     * Sets the value of the lithiumBatteryVoltage property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setLithiumBatteryVoltage(BigDecimal value) {
        this.lithiumBatteryVoltage = value;
    }

    /**
     * Gets the value of the lithiumBatteryWeight property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getLithiumBatteryWeight() {
        return lithiumBatteryWeight;
    }

    /**
     * Sets the value of the lithiumBatteryWeight property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setLithiumBatteryWeight(BigDecimal value) {
        this.lithiumBatteryWeight = value;
    }

    /**
     * Gets the value of the keyboardDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getKeyboardDescription() {
        return keyboardDescription;
    }

    /**
     * Sets the value of the keyboardDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setKeyboardDescription(String value) {
        this.keyboardDescription = value;
    }

    /**
     * Gets the value of the lampType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLampType() {
        return lampType;
    }

    /**
     * Sets the value of the lampType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLampType(String value) {
        this.lampType = value;
    }

    /**
     * Gets the value of the leftConnectorGender property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLeftConnectorGender() {
        return leftConnectorGender;
    }

    /**
     * Sets the value of the leftConnectorGender property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLeftConnectorGender(String value) {
        this.leftConnectorGender = value;
    }

    /**
     * Gets the value of the leftConnectorType property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the leftConnectorType property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getLeftConnectorType().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getLeftConnectorType() {
        if (leftConnectorType == null) {
            leftConnectorType = new ArrayList<String>();
        }
        return this.leftConnectorType;
    }

    /**
     * Gets the value of the manufacturerWarrantyType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getManufacturerWarrantyType() {
        return manufacturerWarrantyType;
    }

    /**
     * Sets the value of the manufacturerWarrantyType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setManufacturerWarrantyType(String value) {
        this.manufacturerWarrantyType = value;
    }

    /**
     * Gets the value of the mapType property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the mapType property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getMapType().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getMapType() {
        if (mapType == null) {
            mapType = new ArrayList<String>();
        }
        return this.mapType;
    }

    /**
     * Gets the value of the materialComposition property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the materialComposition property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getMaterialComposition().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getMaterialComposition() {
        if (materialComposition == null) {
            materialComposition = new ArrayList<String>();
        }
        return this.materialComposition;
    }

    /**
     * Gets the value of the materialType property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the materialType property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getMaterialType().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getMaterialType() {
        if (materialType == null) {
            materialType = new ArrayList<String>();
        }
        return this.materialType;
    }

    /**
     * Gets the value of the maxCopyResolutionBlackWhite property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMaxCopyResolutionBlackWhite() {
        return maxCopyResolutionBlackWhite;
    }

    /**
     * Sets the value of the maxCopyResolutionBlackWhite property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMaxCopyResolutionBlackWhite(String value) {
        this.maxCopyResolutionBlackWhite = value;
    }

    /**
     * Gets the value of the maxCopyResolutionColor property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMaxCopyResolutionColor() {
        return maxCopyResolutionColor;
    }

    /**
     * Sets the value of the maxCopyResolutionColor property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMaxCopyResolutionColor(String value) {
        this.maxCopyResolutionColor = value;
    }

    /**
     * Gets the value of the maximumBridgedOutputPower property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getMaximumBridgedOutputPower() {
        return maximumBridgedOutputPower;
    }

    /**
     * Sets the value of the maximumBridgedOutputPower property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setMaximumBridgedOutputPower(BigInteger value) {
        this.maximumBridgedOutputPower = value;
    }

    /**
     * Gets the value of the maximumExternalResolution property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMaximumExternalResolution() {
        return maximumExternalResolution;
    }

    /**
     * Sets the value of the maximumExternalResolution property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMaximumExternalResolution(String value) {
        this.maximumExternalResolution = value;
    }

    /**
     * Gets the value of the maximumImageSize property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMaximumImageSize() {
        return maximumImageSize;
    }

    /**
     * Sets the value of the maximumImageSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMaximumImageSize(LengthDimension value) {
        this.maximumImageSize = value;
    }

    /**
     * Gets the value of the maximumLinearPeakExcursion property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMaximumLinearPeakExcursion() {
        return maximumLinearPeakExcursion;
    }

    /**
     * Sets the value of the maximumLinearPeakExcursion property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMaximumLinearPeakExcursion(LengthDimension value) {
        this.maximumLinearPeakExcursion = value;
    }

    /**
     * Gets the value of the maximumOutputPower property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMaximumOutputPower() {
        return maximumOutputPower;
    }

    /**
     * Sets the value of the maximumOutputPower property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMaximumOutputPower(String value) {
        this.maximumOutputPower = value;
    }

    /**
     * Gets the value of the maximumRange property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMaximumRange() {
        return maximumRange;
    }

    /**
     * Sets the value of the maximumRange property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMaximumRange(LengthDimension value) {
        this.maximumRange = value;
    }

    /**
     * Gets the value of the maximumRangeIndoors property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMaximumRangeIndoors() {
        return maximumRangeIndoors;
    }

    /**
     * Sets the value of the maximumRangeIndoors property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMaximumRangeIndoors(LengthDimension value) {
        this.maximumRangeIndoors = value;
    }

    /**
     * Gets the value of the maximumSampleRate property.
     * 
     * @return
     *     possible object is
     *     {@link FrequencyDimension }
     *     
     */
    public FrequencyDimension getMaximumSampleRate() {
        return maximumSampleRate;
    }

    /**
     * Sets the value of the maximumSampleRate property.
     * 
     * @param value
     *     allowed object is
     *     {@link FrequencyDimension }
     *     
     */
    public void setMaximumSampleRate(FrequencyDimension value) {
        this.maximumSampleRate = value;
    }

    /**
     * Gets the value of the maximumScreenDistance property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMaximumScreenDistance() {
        return maximumScreenDistance;
    }

    /**
     * Sets the value of the maximumScreenDistance property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMaximumScreenDistance(LengthDimension value) {
        this.maximumScreenDistance = value;
    }

    /**
     * Gets the value of the maxInputSheetCapacity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getMaxInputSheetCapacity() {
        return maxInputSheetCapacity;
    }

    /**
     * Sets the value of the maxInputSheetCapacity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setMaxInputSheetCapacity(BigInteger value) {
        this.maxInputSheetCapacity = value;
    }

    /**
     * Gets the value of the maxPrintResolutionBlackWhite property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the maxPrintResolutionBlackWhite property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getMaxPrintResolutionBlackWhite().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getMaxPrintResolutionBlackWhite() {
        if (maxPrintResolutionBlackWhite == null) {
            maxPrintResolutionBlackWhite = new ArrayList<String>();
        }
        return this.maxPrintResolutionBlackWhite;
    }

    /**
     * Gets the value of the maxPrintResolutionColor property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the maxPrintResolutionColor property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getMaxPrintResolutionColor().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getMaxPrintResolutionColor() {
        if (maxPrintResolutionColor == null) {
            maxPrintResolutionColor = new ArrayList<String>();
        }
        return this.maxPrintResolutionColor;
    }

    /**
     * Gets the value of the mediaFormat property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMediaFormat() {
        return mediaFormat;
    }

    /**
     * Sets the value of the mediaFormat property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMediaFormat(String value) {
        this.mediaFormat = value;
    }

    /**
     * Gets the value of the mediaLoadType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMediaLoadType() {
        return mediaLoadType;
    }

    /**
     * Sets the value of the mediaLoadType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMediaLoadType(String value) {
        this.mediaLoadType = value;
    }

    /**
     * Gets the value of the mediaSizeMaximum property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the mediaSizeMaximum property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getMediaSizeMaximum().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getMediaSizeMaximum() {
        if (mediaSizeMaximum == null) {
            mediaSizeMaximum = new ArrayList<String>();
        }
        return this.mediaSizeMaximum;
    }

    /**
     * Gets the value of the mediaType property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the mediaType property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getMediaType().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getMediaType() {
        if (mediaType == null) {
            mediaType = new ArrayList<String>();
        }
        return this.mediaType;
    }

    /**
     * Gets the value of the memoryStorageCapacity property.
     * 
     * @return
     *     possible object is
     *     {@link MemorySizeDimension }
     *     
     */
    public MemorySizeDimension getMemoryStorageCapacity() {
        return memoryStorageCapacity;
    }

    /**
     * Sets the value of the memoryStorageCapacity property.
     * 
     * @param value
     *     allowed object is
     *     {@link MemorySizeDimension }
     *     
     */
    public void setMemoryStorageCapacity(MemorySizeDimension value) {
        this.memoryStorageCapacity = value;
    }

    /**
     * Gets the value of the memoryTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMemoryTechnology() {
        return memoryTechnology;
    }

    /**
     * Sets the value of the memoryTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMemoryTechnology(String value) {
        this.memoryTechnology = value;
    }

    /**
     * Gets the value of the mfgWarrantyDescriptionLabor property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMfgWarrantyDescriptionLabor() {
        return mfgWarrantyDescriptionLabor;
    }

    /**
     * Sets the value of the mfgWarrantyDescriptionLabor property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMfgWarrantyDescriptionLabor(String value) {
        this.mfgWarrantyDescriptionLabor = value;
    }

    /**
     * Gets the value of the mfgWarrantyDescriptionParts property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMfgWarrantyDescriptionParts() {
        return mfgWarrantyDescriptionParts;
    }

    /**
     * Sets the value of the mfgWarrantyDescriptionParts property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMfgWarrantyDescriptionParts(String value) {
        this.mfgWarrantyDescriptionParts = value;
    }

    /**
     * Gets the value of the microphoneFormFactor property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMicrophoneFormFactor() {
        return microphoneFormFactor;
    }

    /**
     * Sets the value of the microphoneFormFactor property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMicrophoneFormFactor(String value) {
        this.microphoneFormFactor = value;
    }

    /**
     * Gets the value of the microphoneOperationMode property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the microphoneOperationMode property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getMicrophoneOperationMode().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getMicrophoneOperationMode() {
        if (microphoneOperationMode == null) {
            microphoneOperationMode = new ArrayList<String>();
        }
        return this.microphoneOperationMode;
    }

    /**
     * Gets the value of the microphoneTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMicrophoneTechnology() {
        return microphoneTechnology;
    }

    /**
     * Sets the value of the microphoneTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMicrophoneTechnology(String value) {
        this.microphoneTechnology = value;
    }

    /**
     * Gets the value of the miniDiscSystem property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMiniDiscSystem() {
        return miniDiscSystem;
    }

    /**
     * Sets the value of the miniDiscSystem property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMiniDiscSystem(String value) {
        this.miniDiscSystem = value;
    }

    /**
     * Gets the value of the minimumImageSize property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMinimumImageSize() {
        return minimumImageSize;
    }

    /**
     * Sets the value of the minimumImageSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMinimumImageSize(LengthDimension value) {
        this.minimumImageSize = value;
    }

    /**
     * Gets the value of the minimumScreenDistance property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMinimumScreenDistance() {
        return minimumScreenDistance;
    }

    /**
     * Sets the value of the minimumScreenDistance property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMinimumScreenDistance(LengthDimension value) {
        this.minimumScreenDistance = value;
    }

    /**
     * Gets the value of the minimumSystemRequirementDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMinimumSystemRequirementDescription() {
        return minimumSystemRequirementDescription;
    }

    /**
     * Sets the value of the minimumSystemRequirementDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMinimumSystemRequirementDescription(String value) {
        this.minimumSystemRequirementDescription = value;
    }

    /**
     * Gets the value of the model property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getModel() {
        return model;
    }

    /**
     * Sets the value of the model property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setModel(String value) {
        this.model = value;
    }

    /**
     * Gets the value of the modelName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getModelName() {
        return modelName;
    }

    /**
     * Sets the value of the modelName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setModelName(String value) {
        this.modelName = value;
    }

    /**
     * Gets the value of the modemDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getModemDescription() {
        return modemDescription;
    }

    /**
     * Sets the value of the modemDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setModemDescription(String value) {
        this.modemDescription = value;
    }

    /**
     * Gets the value of the modemInterface property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getModemInterface() {
        return modemInterface;
    }

    /**
     * Sets the value of the modemInterface property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setModemInterface(String value) {
        this.modemInterface = value;
    }

    /**
     * Gets the value of the modemType property.
     * 
     * @return
     *     possible object is
     *     {@link ModemTypeValues }
     *     
     */
    public ModemTypeValues getModemType() {
        return modemType;
    }

    /**
     * Sets the value of the modemType property.
     * 
     * @param value
     *     allowed object is
     *     {@link ModemTypeValues }
     *     
     */
    public void setModemType(ModemTypeValues value) {
        this.modemType = value;
    }

    /**
     * Gets the value of the monthlyDutyCycle property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMonthlyDutyCycle() {
        return monthlyDutyCycle;
    }

    /**
     * Sets the value of the monthlyDutyCycle property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMonthlyDutyCycle(String value) {
        this.monthlyDutyCycle = value;
    }

    /**
     * Gets the value of the mountingHoleDiameter property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getMountingHoleDiameter() {
        return mountingHoleDiameter;
    }

    /**
     * Sets the value of the mountingHoleDiameter property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setMountingHoleDiameter(LengthDimension value) {
        this.mountingHoleDiameter = value;
    }

    /**
     * Gets the value of the movementDetectionTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMovementDetectionTechnology() {
        return movementDetectionTechnology;
    }

    /**
     * Sets the value of the movementDetectionTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMovementDetectionTechnology(String value) {
        this.movementDetectionTechnology = value;
    }

    /**
     * Gets the value of the multilineOperation property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the multilineOperation property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getMultilineOperation().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getMultilineOperation() {
        if (multilineOperation == null) {
            multilineOperation = new ArrayList<String>();
        }
        return this.multilineOperation;
    }

    /**
     * Gets the value of the multimediaFunctionality property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the multimediaFunctionality property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getMultimediaFunctionality().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getMultimediaFunctionality() {
        if (multimediaFunctionality == null) {
            multimediaFunctionality = new ArrayList<String>();
        }
        return this.multimediaFunctionality;
    }

    /**
     * Gets the value of the navigationRoutes property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getNavigationRoutes() {
        return navigationRoutes;
    }

    /**
     * Sets the value of the navigationRoutes property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setNavigationRoutes(BigInteger value) {
        this.navigationRoutes = value;
    }

    /**
     * Gets the value of the networkingFeature property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the networkingFeature property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getNetworkingFeature().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getNetworkingFeature() {
        if (networkingFeature == null) {
            networkingFeature = new ArrayList<String>();
        }
        return this.networkingFeature;
    }

    /**
     * Gets the value of the networkInterfaceDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getNetworkInterfaceDescription() {
        return networkInterfaceDescription;
    }

    /**
     * Sets the value of the networkInterfaceDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setNetworkInterfaceDescription(String value) {
        this.networkInterfaceDescription = value;
    }

    /**
     * Gets the value of the numberOfLithiumIonCells property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getNumberOfLithiumIonCells() {
        return numberOfLithiumIonCells;
    }

    /**
     * Sets the value of the numberOfLithiumIonCells property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setNumberOfLithiumIonCells(BigInteger value) {
        this.numberOfLithiumIonCells = value;
    }

    /**
     * Gets the value of the numberOfLithiumMetalCells property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getNumberOfLithiumMetalCells() {
        return numberOfLithiumMetalCells;
    }

    /**
     * Sets the value of the numberOfLithiumMetalCells property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setNumberOfLithiumMetalCells(BigInteger value) {
        this.numberOfLithiumMetalCells = value;
    }

    /**
     * Gets the value of the numberOfPorts property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getNumberOfPorts() {
        return numberOfPorts;
    }

    /**
     * Sets the value of the numberOfPorts property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setNumberOfPorts(BigInteger value) {
        this.numberOfPorts = value;
    }

    /**
     * Gets the value of the numberOfSupportedZones property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getNumberOfSupportedZones() {
        return numberOfSupportedZones;
    }

    /**
     * Sets the value of the numberOfSupportedZones property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setNumberOfSupportedZones(BigInteger value) {
        this.numberOfSupportedZones = value;
    }

    /**
     * Gets the value of the objectiveLensDiameter property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getObjectiveLensDiameter() {
        return objectiveLensDiameter;
    }

    /**
     * Sets the value of the objectiveLensDiameter property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setObjectiveLensDiameter(LengthDimension value) {
        this.objectiveLensDiameter = value;
    }

    /**
     * Gets the value of the operatingHumidity property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getOperatingHumidity() {
        return operatingHumidity;
    }

    /**
     * Sets the value of the operatingHumidity property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setOperatingHumidity(String value) {
        this.operatingHumidity = value;
    }

    /**
     * Gets the value of the opticalDigitalInput property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getOpticalDigitalInput() {
        return opticalDigitalInput;
    }

    /**
     * Sets the value of the opticalDigitalInput property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setOpticalDigitalInput(String value) {
        this.opticalDigitalInput = value;
    }

    /**
     * Gets the value of the opticalDigitalOutput property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getOpticalDigitalOutput() {
        return opticalDigitalOutput;
    }

    /**
     * Sets the value of the opticalDigitalOutput property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setOpticalDigitalOutput(String value) {
        this.opticalDigitalOutput = value;
    }

    /**
     * Gets the value of the opticalSensorInterpolatedResolution property.
     * 
     * @return
     *     possible object is
     *     {@link PixelDimension }
     *     
     */
    public PixelDimension getOpticalSensorInterpolatedResolution() {
        return opticalSensorInterpolatedResolution;
    }

    /**
     * Sets the value of the opticalSensorInterpolatedResolution property.
     * 
     * @param value
     *     allowed object is
     *     {@link PixelDimension }
     *     
     */
    public void setOpticalSensorInterpolatedResolution(PixelDimension value) {
        this.opticalSensorInterpolatedResolution = value;
    }

    /**
     * Gets the value of the opticalSensorResolution property.
     * 
     * @return
     *     possible object is
     *     {@link PixelDimension }
     *     
     */
    public PixelDimension getOpticalSensorResolution() {
        return opticalSensorResolution;
    }

    /**
     * Sets the value of the opticalSensorResolution property.
     * 
     * @param value
     *     allowed object is
     *     {@link PixelDimension }
     *     
     */
    public void setOpticalSensorResolution(PixelDimension value) {
        this.opticalSensorResolution = value;
    }

    /**
     * Gets the value of the opticalStorageDevice property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the opticalStorageDevice property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getOpticalStorageDevice().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getOpticalStorageDevice() {
        if (opticalStorageDevice == null) {
            opticalStorageDevice = new ArrayList<String>();
        }
        return this.opticalStorageDevice;
    }

    /**
     * Gets the value of the opticalStorageInstalledQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getOpticalStorageInstalledQuantity() {
        return opticalStorageInstalledQuantity;
    }

    /**
     * Sets the value of the opticalStorageInstalledQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setOpticalStorageInstalledQuantity(BigInteger value) {
        this.opticalStorageInstalledQuantity = value;
    }

    /**
     * Gets the value of the opticalStorageReadSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getOpticalStorageReadSpeed() {
        return opticalStorageReadSpeed;
    }

    /**
     * Sets the value of the opticalStorageReadSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setOpticalStorageReadSpeed(String value) {
        this.opticalStorageReadSpeed = value;
    }

    /**
     * Gets the value of the opticalStorageRewriteSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getOpticalStorageRewriteSpeed() {
        return opticalStorageRewriteSpeed;
    }

    /**
     * Sets the value of the opticalStorageRewriteSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setOpticalStorageRewriteSpeed(String value) {
        this.opticalStorageRewriteSpeed = value;
    }

    /**
     * Gets the value of the opticalStorageSecondaryReadSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getOpticalStorageSecondaryReadSpeed() {
        return opticalStorageSecondaryReadSpeed;
    }

    /**
     * Sets the value of the opticalStorageSecondaryReadSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setOpticalStorageSecondaryReadSpeed(String value) {
        this.opticalStorageSecondaryReadSpeed = value;
    }

    /**
     * Gets the value of the opticalStorageSecondaryRewriteSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getOpticalStorageSecondaryRewriteSpeed() {
        return opticalStorageSecondaryRewriteSpeed;
    }

    /**
     * Sets the value of the opticalStorageSecondaryRewriteSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setOpticalStorageSecondaryRewriteSpeed(String value) {
        this.opticalStorageSecondaryRewriteSpeed = value;
    }

    /**
     * Gets the value of the opticalStorageSecondaryType property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the opticalStorageSecondaryType property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getOpticalStorageSecondaryType().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getOpticalStorageSecondaryType() {
        if (opticalStorageSecondaryType == null) {
            opticalStorageSecondaryType = new ArrayList<String>();
        }
        return this.opticalStorageSecondaryType;
    }

    /**
     * Gets the value of the opticalStorageSecondaryWriteSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getOpticalStorageSecondaryWriteSpeed() {
        return opticalStorageSecondaryWriteSpeed;
    }

    /**
     * Sets the value of the opticalStorageSecondaryWriteSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setOpticalStorageSecondaryWriteSpeed(String value) {
        this.opticalStorageSecondaryWriteSpeed = value;
    }

    /**
     * Gets the value of the opticalStorageWriteSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getOpticalStorageWriteSpeed() {
        return opticalStorageWriteSpeed;
    }

    /**
     * Sets the value of the opticalStorageWriteSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setOpticalStorageWriteSpeed(String value) {
        this.opticalStorageWriteSpeed = value;
    }

    /**
     * Gets the value of the outputChannelQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getOutputChannelQuantity() {
        return outputChannelQuantity;
    }

    /**
     * Sets the value of the outputChannelQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setOutputChannelQuantity(BigInteger value) {
        this.outputChannelQuantity = value;
    }

    /**
     * Gets the value of the outputConnection property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the outputConnection property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getOutputConnection().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link Connection }
     * 
     * 
     */
    public List<Connection> getOutputConnection() {
        if (outputConnection == null) {
            outputConnection = new ArrayList<Connection>();
        }
        return this.outputConnection;
    }

    /**
     * Gets the value of the outputConnectorQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getOutputConnectorQuantity() {
        return outputConnectorQuantity;
    }

    /**
     * Sets the value of the outputConnectorQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setOutputConnectorQuantity(BigInteger value) {
        this.outputConnectorQuantity = value;
    }

    /**
     * Gets the value of the outputConnectorType property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the outputConnectorType property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getOutputConnectorType().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getOutputConnectorType() {
        if (outputConnectorType == null) {
            outputConnectorType = new ArrayList<String>();
        }
        return this.outputConnectorType;
    }

    /**
     * Gets the value of the outputPower property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getOutputPower() {
        return outputPower;
    }

    /**
     * Sets the value of the outputPower property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setOutputPower(BigInteger value) {
        this.outputPower = value;
    }

    /**
     * Gets the value of the outputWattage property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getOutputWattage() {
        return outputWattage;
    }

    /**
     * Sets the value of the outputWattage property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setOutputWattage(BigInteger value) {
        this.outputWattage = value;
    }

    /**
     * Gets the value of the packageContentType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPackageContentType() {
        return packageContentType;
    }

    /**
     * Sets the value of the packageContentType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPackageContentType(String value) {
        this.packageContentType = value;
    }

    /**
     * Gets the value of the packageTypeName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPackageTypeName() {
        return packageTypeName;
    }

    /**
     * Sets the value of the packageTypeName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPackageTypeName(String value) {
        this.packageTypeName = value;
    }

    /**
     * Gets the value of the pcConnectionAvailable property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPCConnectionAvailable() {
        return pcConnectionAvailable;
    }

    /**
     * Sets the value of the pcConnectionAvailable property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPCConnectionAvailable(String value) {
        this.pcConnectionAvailable = value;
    }

    /**
     * Gets the value of the phoneBaseDepth property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getPhoneBaseDepth() {
        return phoneBaseDepth;
    }

    /**
     * Sets the value of the phoneBaseDepth property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setPhoneBaseDepth(LengthDimension value) {
        this.phoneBaseDepth = value;
    }

    /**
     * Gets the value of the phoneBaseHeight property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getPhoneBaseHeight() {
        return phoneBaseHeight;
    }

    /**
     * Sets the value of the phoneBaseHeight property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setPhoneBaseHeight(LengthDimension value) {
        this.phoneBaseHeight = value;
    }

    /**
     * Gets the value of the phoneBaseWeight property.
     * 
     * @return
     *     possible object is
     *     {@link WeightDimension }
     *     
     */
    public WeightDimension getPhoneBaseWeight() {
        return phoneBaseWeight;
    }

    /**
     * Sets the value of the phoneBaseWeight property.
     * 
     * @param value
     *     allowed object is
     *     {@link WeightDimension }
     *     
     */
    public void setPhoneBaseWeight(WeightDimension value) {
        this.phoneBaseWeight = value;
    }

    /**
     * Gets the value of the phoneBaseWidth property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getPhoneBaseWidth() {
        return phoneBaseWidth;
    }

    /**
     * Sets the value of the phoneBaseWidth property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setPhoneBaseWidth(LengthDimension value) {
        this.phoneBaseWidth = value;
    }

    /**
     * Gets the value of the portedBoxVolume property.
     * 
     * @return
     *     possible object is
     *     {@link CE.PortedBoxVolume }
     *     
     */
    public CE.PortedBoxVolume getPortedBoxVolume() {
        return portedBoxVolume;
    }

    /**
     * Sets the value of the portedBoxVolume property.
     * 
     * @param value
     *     allowed object is
     *     {@link CE.PortedBoxVolume }
     *     
     */
    public void setPortedBoxVolume(CE.PortedBoxVolume value) {
        this.portedBoxVolume = value;
    }

    /**
     * Gets the value of the powerAmplifierClass property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPowerAmplifierClass() {
        return powerAmplifierClass;
    }

    /**
     * Sets the value of the powerAmplifierClass property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPowerAmplifierClass(String value) {
        this.powerAmplifierClass = value;
    }

    /**
     * Gets the value of the powerDevice property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPowerDevice() {
        return powerDevice;
    }

    /**
     * Sets the value of the powerDevice property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPowerDevice(String value) {
        this.powerDevice = value;
    }

    /**
     * Gets the value of the powerGain property.
     * 
     * @return
     *     possible object is
     *     {@link VoltageIntegerDimension }
     *     
     */
    public VoltageIntegerDimension getPowerGain() {
        return powerGain;
    }

    /**
     * Sets the value of the powerGain property.
     * 
     * @param value
     *     allowed object is
     *     {@link VoltageIntegerDimension }
     *     
     */
    public void setPowerGain(VoltageIntegerDimension value) {
        this.powerGain = value;
    }

    /**
     * Gets the value of the powerLoadRating property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPowerLoadRating() {
        return powerLoadRating;
    }

    /**
     * Sets the value of the powerLoadRating property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPowerLoadRating(String value) {
        this.powerLoadRating = value;
    }

    /**
     * Gets the value of the preampOutputChannels property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getPreampOutputChannels() {
        return preampOutputChannels;
    }

    /**
     * Sets the value of the preampOutputChannels property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setPreampOutputChannels(BigInteger value) {
        this.preampOutputChannels = value;
    }

    /**
     * Gets the value of the presetChannelQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getPresetChannelQuantity() {
        return presetChannelQuantity;
    }

    /**
     * Sets the value of the presetChannelQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setPresetChannelQuantity(BigInteger value) {
        this.presetChannelQuantity = value;
    }

    /**
     * Gets the value of the printerInterface property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPrinterInterface() {
        return printerInterface;
    }

    /**
     * Sets the value of the printerInterface property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPrinterInterface(String value) {
        this.printerInterface = value;
    }

    /**
     * Gets the value of the printerOutput property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPrinterOutput() {
        return printerOutput;
    }

    /**
     * Sets the value of the printerOutput property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPrinterOutput(String value) {
        this.printerOutput = value;
    }

    /**
     * Gets the value of the printerResolutionBWHorizontalMax property.
     * 
     * @return
     *     possible object is
     *     {@link PixelDimension }
     *     
     */
    public PixelDimension getPrinterResolutionBWHorizontalMax() {
        return printerResolutionBWHorizontalMax;
    }

    /**
     * Sets the value of the printerResolutionBWHorizontalMax property.
     * 
     * @param value
     *     allowed object is
     *     {@link PixelDimension }
     *     
     */
    public void setPrinterResolutionBWHorizontalMax(PixelDimension value) {
        this.printerResolutionBWHorizontalMax = value;
    }

    /**
     * Gets the value of the printerResolutionBWVerticalMax property.
     * 
     * @return
     *     possible object is
     *     {@link PixelDimension }
     *     
     */
    public PixelDimension getPrinterResolutionBWVerticalMax() {
        return printerResolutionBWVerticalMax;
    }

    /**
     * Sets the value of the printerResolutionBWVerticalMax property.
     * 
     * @param value
     *     allowed object is
     *     {@link PixelDimension }
     *     
     */
    public void setPrinterResolutionBWVerticalMax(PixelDimension value) {
        this.printerResolutionBWVerticalMax = value;
    }

    /**
     * Gets the value of the printerResolutionColorHorizontalMax property.
     * 
     * @return
     *     possible object is
     *     {@link PixelDimension }
     *     
     */
    public PixelDimension getPrinterResolutionColorHorizontalMax() {
        return printerResolutionColorHorizontalMax;
    }

    /**
     * Sets the value of the printerResolutionColorHorizontalMax property.
     * 
     * @param value
     *     allowed object is
     *     {@link PixelDimension }
     *     
     */
    public void setPrinterResolutionColorHorizontalMax(PixelDimension value) {
        this.printerResolutionColorHorizontalMax = value;
    }

    /**
     * Gets the value of the printerResolutionColorVerticalMax property.
     * 
     * @return
     *     possible object is
     *     {@link PixelDimension }
     *     
     */
    public PixelDimension getPrinterResolutionColorVerticalMax() {
        return printerResolutionColorVerticalMax;
    }

    /**
     * Sets the value of the printerResolutionColorVerticalMax property.
     * 
     * @param value
     *     allowed object is
     *     {@link PixelDimension }
     *     
     */
    public void setPrinterResolutionColorVerticalMax(PixelDimension value) {
        this.printerResolutionColorVerticalMax = value;
    }

    /**
     * Gets the value of the printerTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPrinterTechnology() {
        return printerTechnology;
    }

    /**
     * Sets the value of the printerTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPrinterTechnology(String value) {
        this.printerTechnology = value;
    }

    /**
     * Gets the value of the processorDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getProcessorDescription() {
        return processorDescription;
    }

    /**
     * Sets the value of the processorDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setProcessorDescription(String value) {
        this.processorDescription = value;
    }

    /**
     * Gets the value of the processorMaximum property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getProcessorMaximum() {
        return processorMaximum;
    }

    /**
     * Sets the value of the processorMaximum property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setProcessorMaximum(BigInteger value) {
        this.processorMaximum = value;
    }

    /**
     * Gets the value of the processorModelNumber property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getProcessorModelNumber() {
        return processorModelNumber;
    }

    /**
     * Sets the value of the processorModelNumber property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setProcessorModelNumber(String value) {
        this.processorModelNumber = value;
    }

    /**
     * Gets the value of the processorUpgrade property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getProcessorUpgrade() {
        return processorUpgrade;
    }

    /**
     * Sets the value of the processorUpgrade property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setProcessorUpgrade(String value) {
        this.processorUpgrade = value;
    }

    /**
     * Gets the value of the programmability property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the programmability property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getProgrammability().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getProgrammability() {
        if (programmability == null) {
            programmability = new ArrayList<String>();
        }
        return this.programmability;
    }

    /**
     * Gets the value of the qtsTotalQFactor property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getQtsTotalQFactor() {
        return qtsTotalQFactor;
    }

    /**
     * Sets the value of the qtsTotalQFactor property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setQtsTotalQFactor(BigDecimal value) {
        this.qtsTotalQFactor = value;
    }

    /**
     * Gets the value of the radioBandsSupported property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRadioBandsSupported() {
        return radioBandsSupported;
    }

    /**
     * Sets the value of the radioBandsSupported property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRadioBandsSupported(String value) {
        this.radioBandsSupported = value;
    }

    /**
     * Gets the value of the radioChannels property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRadioChannels() {
        return radioChannels;
    }

    /**
     * Sets the value of the radioChannels property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRadioChannels(String value) {
        this.radioChannels = value;
    }

    /**
     * Gets the value of the raidLevel property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the raidLevel property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getRAIDLevel().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getRAIDLevel() {
        if (raidLevel == null) {
            raidLevel = new ArrayList<String>();
        }
        return this.raidLevel;
    }

    /**
     * Gets the value of the ramMemoryInstalledSize property.
     * 
     * @return
     *     possible object is
     *     {@link MemorySizeDimension }
     *     
     */
    public MemorySizeDimension getRAMMemoryInstalledSize() {
        return ramMemoryInstalledSize;
    }

    /**
     * Sets the value of the ramMemoryInstalledSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link MemorySizeDimension }
     *     
     */
    public void setRAMMemoryInstalledSize(MemorySizeDimension value) {
        this.ramMemoryInstalledSize = value;
    }

    /**
     * Gets the value of the ramMemoryMaximumSize property.
     * 
     * @return
     *     possible object is
     *     {@link MemorySizeDimension }
     *     
     */
    public MemorySizeDimension getRAMMemoryMaximumSize() {
        return ramMemoryMaximumSize;
    }

    /**
     * Sets the value of the ramMemoryMaximumSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link MemorySizeDimension }
     *     
     */
    public void setRAMMemoryMaximumSize(MemorySizeDimension value) {
        this.ramMemoryMaximumSize = value;
    }

    /**
     * Gets the value of the ramMemoryTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRAMMemoryTechnology() {
        return ramMemoryTechnology;
    }

    /**
     * Sets the value of the ramMemoryTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRAMMemoryTechnology(String value) {
        this.ramMemoryTechnology = value;
    }

    /**
     * Gets the value of the rangefinderType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRangefinderType() {
        return rangefinderType;
    }

    /**
     * Sets the value of the rangefinderType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRangefinderType(String value) {
        this.rangefinderType = value;
    }

    /**
     * Gets the value of the receiverDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getReceiverDescription() {
        return receiverDescription;
    }

    /**
     * Sets the value of the receiverDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setReceiverDescription(String value) {
        this.receiverDescription = value;
    }

    /**
     * Gets the value of the recordingCapacity property.
     * 
     * @return
     *     possible object is
     *     {@link MemorySizeDimension }
     *     
     */
    public MemorySizeDimension getRecordingCapacity() {
        return recordingCapacity;
    }

    /**
     * Sets the value of the recordingCapacity property.
     * 
     * @param value
     *     allowed object is
     *     {@link MemorySizeDimension }
     *     
     */
    public void setRecordingCapacity(MemorySizeDimension value) {
        this.recordingCapacity = value;
    }

    /**
     * Gets the value of the remoteControlAudioControls property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the remoteControlAudioControls property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getRemoteControlAudioControls().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getRemoteControlAudioControls() {
        if (remoteControlAudioControls == null) {
            remoteControlAudioControls = new ArrayList<String>();
        }
        return this.remoteControlAudioControls;
    }

    /**
     * Gets the value of the remoteControlDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRemoteControlDescription() {
        return remoteControlDescription;
    }

    /**
     * Sets the value of the remoteControlDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRemoteControlDescription(String value) {
        this.remoteControlDescription = value;
    }

    /**
     * Gets the value of the remoteControlTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRemoteControlTechnology() {
        return remoteControlTechnology;
    }

    /**
     * Sets the value of the remoteControlTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRemoteControlTechnology(String value) {
        this.remoteControlTechnology = value;
    }

    /**
     * Gets the value of the remoteManagementProtocol property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the remoteManagementProtocol property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getRemoteManagementProtocol().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getRemoteManagementProtocol() {
        if (remoteManagementProtocol == null) {
            remoteManagementProtocol = new ArrayList<String>();
        }
        return this.remoteManagementProtocol;
    }

    /**
     * Gets the value of the removableMediaCapacity property.
     * 
     * @return
     *     possible object is
     *     {@link MemorySizeDimension }
     *     
     */
    public MemorySizeDimension getRemovableMediaCapacity() {
        return removableMediaCapacity;
    }

    /**
     * Sets the value of the removableMediaCapacity property.
     * 
     * @param value
     *     allowed object is
     *     {@link MemorySizeDimension }
     *     
     */
    public void setRemovableMediaCapacity(MemorySizeDimension value) {
        this.removableMediaCapacity = value;
    }

    /**
     * Gets the value of the removableMemory property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRemovableMemory() {
        return removableMemory;
    }

    /**
     * Sets the value of the removableMemory property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRemovableMemory(String value) {
        this.removableMemory = value;
    }

    /**
     * Gets the value of the removableStorage property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRemovableStorage() {
        return removableStorage;
    }

    /**
     * Sets the value of the removableStorage property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRemovableStorage(String value) {
        this.removableStorage = value;
    }

    /**
     * Gets the value of the removableStorageInterface property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRemovableStorageInterface() {
        return removableStorageInterface;
    }

    /**
     * Sets the value of the removableStorageInterface property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRemovableStorageInterface(String value) {
        this.removableStorageInterface = value;
    }

    /**
     * Gets the value of the removableStorageNativeCapacity property.
     * 
     * @return
     *     possible object is
     *     {@link MemorySizeDimension }
     *     
     */
    public MemorySizeDimension getRemovableStorageNativeCapacity() {
        return removableStorageNativeCapacity;
    }

    /**
     * Sets the value of the removableStorageNativeCapacity property.
     * 
     * @param value
     *     allowed object is
     *     {@link MemorySizeDimension }
     *     
     */
    public void setRemovableStorageNativeCapacity(MemorySizeDimension value) {
        this.removableStorageNativeCapacity = value;
    }

    /**
     * Gets the value of the responseTime property.
     * 
     * @return
     *     possible object is
     *     {@link TimeDimension }
     *     
     */
    public TimeDimension getResponseTime() {
        return responseTime;
    }

    /**
     * Sets the value of the responseTime property.
     * 
     * @param value
     *     allowed object is
     *     {@link TimeDimension }
     *     
     */
    public void setResponseTime(TimeDimension value) {
        this.responseTime = value;
    }

    /**
     * Gets the value of the rightConnectorGender property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRightConnectorGender() {
        return rightConnectorGender;
    }

    /**
     * Sets the value of the rightConnectorGender property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRightConnectorGender(String value) {
        this.rightConnectorGender = value;
    }

    /**
     * Gets the value of the rightConnectorType property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the rightConnectorType property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getRightConnectorType().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getRightConnectorType() {
        if (rightConnectorType == null) {
            rightConnectorType = new ArrayList<String>();
        }
        return this.rightConnectorType;
    }

    /**
     * Gets the value of the routingProtocol property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the routingProtocol property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getRoutingProtocol().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getRoutingProtocol() {
        if (routingProtocol == null) {
            routingProtocol = new ArrayList<String>();
        }
        return this.routingProtocol;
    }

    /**
     * Gets the value of the satelliteServiceDescription property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the satelliteServiceDescription property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSatelliteServiceDescription().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getSatelliteServiceDescription() {
        if (satelliteServiceDescription == null) {
            satelliteServiceDescription = new ArrayList<String>();
        }
        return this.satelliteServiceDescription;
    }

    /**
     * Gets the value of the sbas property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the sbas property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSBAS().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getSBAS() {
        if (sbas == null) {
            sbas = new ArrayList<String>();
        }
        return this.sbas;
    }

    /**
     * Gets the value of the scanElementType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getScanElementType() {
        return scanElementType;
    }

    /**
     * Sets the value of the scanElementType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setScanElementType(String value) {
        this.scanElementType = value;
    }

    /**
     * Gets the value of the scannerInterface property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getScannerInterface() {
        return scannerInterface;
    }

    /**
     * Sets the value of the scannerInterface property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setScannerInterface(String value) {
        this.scannerInterface = value;
    }

    /**
     * Gets the value of the scannerType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getScannerType() {
        return scannerType;
    }

    /**
     * Sets the value of the scannerType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setScannerType(String value) {
        this.scannerType = value;
    }

    /**
     * Gets the value of the scsiSignalingType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSCSISignalingType() {
        return scsiSignalingType;
    }

    /**
     * Sets the value of the scsiSignalingType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSCSISignalingType(String value) {
        this.scsiSignalingType = value;
    }

    /**
     * Gets the value of the sealedBoxVolume property.
     * 
     * @return
     *     possible object is
     *     {@link CE.SealedBoxVolume }
     *     
     */
    public CE.SealedBoxVolume getSealedBoxVolume() {
        return sealedBoxVolume;
    }

    /**
     * Sets the value of the sealedBoxVolume property.
     * 
     * @param value
     *     allowed object is
     *     {@link CE.SealedBoxVolume }
     *     
     */
    public void setSealedBoxVolume(CE.SealedBoxVolume value) {
        this.sealedBoxVolume = value;
    }

    /**
     * Gets the value of the searchSpeed property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the searchSpeed property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSearchSpeed().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getSearchSpeed() {
        if (searchSpeed == null) {
            searchSpeed = new ArrayList<String>();
        }
        return this.searchSpeed;
    }

    /**
     * Gets the value of the secondaryCache property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getSecondaryCache() {
        return secondaryCache;
    }

    /**
     * Sets the value of the secondaryCache property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setSecondaryCache(BigInteger value) {
        this.secondaryCache = value;
    }

    /**
     * Gets the value of the signalToNoiseRatio property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getSignalToNoiseRatio() {
        return signalToNoiseRatio;
    }

    /**
     * Sets the value of the signalToNoiseRatio property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setSignalToNoiseRatio(BigDecimal value) {
        this.signalToNoiseRatio = value;
    }

    /**
     * Gets the value of the size property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSize() {
        return size;
    }

    /**
     * Sets the value of the size property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSize(String value) {
        this.size = value;
    }

    /**
     * Gets the value of the speakerAmplificationType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSpeakerAmplificationType() {
        return speakerAmplificationType;
    }

    /**
     * Sets the value of the speakerAmplificationType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSpeakerAmplificationType(String value) {
        this.speakerAmplificationType = value;
    }

    /**
     * Gets the value of the speakerConnectivity property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSpeakerConnectivity() {
        return speakerConnectivity;
    }

    /**
     * Sets the value of the speakerConnectivity property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSpeakerConnectivity(String value) {
        this.speakerConnectivity = value;
    }

    /**
     * Gets the value of the speakerDriverMaterial property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSpeakerDriverMaterial() {
        return speakerDriverMaterial;
    }

    /**
     * Sets the value of the speakerDriverMaterial property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSpeakerDriverMaterial(String value) {
        this.speakerDriverMaterial = value;
    }

    /**
     * Gets the value of the speakersCrossoverChannelQuantity property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the speakersCrossoverChannelQuantity property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSpeakersCrossoverChannelQuantity().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getSpeakersCrossoverChannelQuantity() {
        if (speakersCrossoverChannelQuantity == null) {
            speakersCrossoverChannelQuantity = new ArrayList<String>();
        }
        return this.speakersCrossoverChannelQuantity;
    }

    /**
     * Gets the value of the speakersIncludedDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSpeakersIncludedDescription() {
        return speakersIncludedDescription;
    }

    /**
     * Sets the value of the speakersIncludedDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSpeakersIncludedDescription(String value) {
        this.speakersIncludedDescription = value;
    }

    /**
     * Gets the value of the speakersMaximumOutputPower property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getSpeakersMaximumOutputPower() {
        return speakersMaximumOutputPower;
    }

    /**
     * Sets the value of the speakersMaximumOutputPower property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setSpeakersMaximumOutputPower(BigDecimal value) {
        this.speakersMaximumOutputPower = value;
    }

    /**
     * Gets the value of the speakersNominalOutputPower property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getSpeakersNominalOutputPower() {
        return speakersNominalOutputPower;
    }

    /**
     * Sets the value of the speakersNominalOutputPower property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setSpeakersNominalOutputPower(BigDecimal value) {
        this.speakersNominalOutputPower = value;
    }

    /**
     * Gets the value of the speakersResponseBandwidth property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSpeakersResponseBandwidth() {
        return speakersResponseBandwidth;
    }

    /**
     * Sets the value of the speakersResponseBandwidth property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSpeakersResponseBandwidth(String value) {
        this.speakersResponseBandwidth = value;
    }

    /**
     * Gets the value of the speakerSystemClass property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSpeakerSystemClass() {
        return speakerSystemClass;
    }

    /**
     * Sets the value of the speakerSystemClass property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSpeakerSystemClass(String value) {
        this.speakerSystemClass = value;
    }

    /**
     * Gets the value of the speakerType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSpeakerType() {
        return speakerType;
    }

    /**
     * Sets the value of the speakerType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSpeakerType(String value) {
        this.speakerType = value;
    }

    /**
     * Gets the value of the specialFeatures property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the specialFeatures property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSpecialFeatures().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getSpecialFeatures() {
        if (specialFeatures == null) {
            specialFeatures = new ArrayList<String>();
        }
        return this.specialFeatures;
    }

    /**
     * Gets the value of the specificationMet property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the specificationMet property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSpecificationMet().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getSpecificationMet() {
        if (specificationMet == null) {
            specificationMet = new ArrayList<String>();
        }
        return this.specificationMet;
    }

    /**
     * Gets the value of the specificUses property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSpecificUses() {
        return specificUses;
    }

    /**
     * Sets the value of the specificUses property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSpecificUses(String value) {
        this.specificUses = value;
    }

    /**
     * Gets the value of the ssdDriveArchitechture property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSSDDriveArchitechture() {
        return ssdDriveArchitechture;
    }

    /**
     * Sets the value of the ssdDriveArchitechture property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSSDDriveArchitechture(String value) {
        this.ssdDriveArchitechture = value;
    }

    /**
     * Gets the value of the standardInputSheetCapacity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getStandardInputSheetCapacity() {
        return standardInputSheetCapacity;
    }

    /**
     * Sets the value of the standardInputSheetCapacity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setStandardInputSheetCapacity(BigInteger value) {
        this.standardInputSheetCapacity = value;
    }

    /**
     * Gets the value of the storageController property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getStorageController() {
        return storageController;
    }

    /**
     * Sets the value of the storageController property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setStorageController(String value) {
        this.storageController = value;
    }

    /**
     * Gets the value of the storageControllerInterface property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getStorageControllerInterface() {
        return storageControllerInterface;
    }

    /**
     * Sets the value of the storageControllerInterface property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setStorageControllerInterface(String value) {
        this.storageControllerInterface = value;
    }

    /**
     * Gets the value of the storageHumidity property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getStorageHumidity() {
        return storageHumidity;
    }

    /**
     * Sets the value of the storageHumidity property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setStorageHumidity(String value) {
        this.storageHumidity = value;
    }

    /**
     * Gets the value of the storageInterface property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getStorageInterface() {
        return storageInterface;
    }

    /**
     * Sets the value of the storageInterface property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setStorageInterface(String value) {
        this.storageInterface = value;
    }

    /**
     * Gets the value of the styleName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getStyleName() {
        return styleName;
    }

    /**
     * Sets the value of the styleName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setStyleName(String value) {
        this.styleName = value;
    }

    /**
     * Gets the value of the supportedAudioFormat property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the supportedAudioFormat property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSupportedAudioFormat().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getSupportedAudioFormat() {
        if (supportedAudioFormat == null) {
            supportedAudioFormat = new ArrayList<String>();
        }
        return this.supportedAudioFormat;
    }

    /**
     * Gets the value of the supportedDevices property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the supportedDevices property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSupportedDevices().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getSupportedDevices() {
        if (supportedDevices == null) {
            supportedDevices = new ArrayList<String>();
        }
        return this.supportedDevices;
    }

    /**
     * Gets the value of the supportedDevicesQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getSupportedDevicesQuantity() {
        return supportedDevicesQuantity;
    }

    /**
     * Sets the value of the supportedDevicesQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setSupportedDevicesQuantity(BigInteger value) {
        this.supportedDevicesQuantity = value;
    }

    /**
     * Gets the value of the supportedImageFormat property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the supportedImageFormat property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSupportedImageFormat().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getSupportedImageFormat() {
        if (supportedImageFormat == null) {
            supportedImageFormat = new ArrayList<String>();
        }
        return this.supportedImageFormat;
    }

    /**
     * Gets the value of the supportedImageType property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the supportedImageType property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSupportedImageType().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getSupportedImageType() {
        if (supportedImageType == null) {
            supportedImageType = new ArrayList<String>();
        }
        return this.supportedImageType;
    }

    /**
     * Gets the value of the supportedMediaSize property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSupportedMediaSize() {
        return supportedMediaSize;
    }

    /**
     * Sets the value of the supportedMediaSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSupportedMediaSize(String value) {
        this.supportedMediaSize = value;
    }

    /**
     * Gets the value of the supportedMotherboard property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSupportedMotherboard() {
        return supportedMotherboard;
    }

    /**
     * Sets the value of the supportedMotherboard property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSupportedMotherboard(String value) {
        this.supportedMotherboard = value;
    }

    /**
     * Gets the value of the supportedStandards property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the supportedStandards property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSupportedStandards().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getSupportedStandards() {
        if (supportedStandards == null) {
            supportedStandards = new ArrayList<String>();
        }
        return this.supportedStandards;
    }

    /**
     * Gets the value of the surgeSuppression property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSurgeSuppression() {
        return surgeSuppression;
    }

    /**
     * Sets the value of the surgeSuppression property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSurgeSuppression(String value) {
        this.surgeSuppression = value;
    }

    /**
     * Gets the value of the surroundSoundChannels property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSurroundSoundChannels() {
        return surroundSoundChannels;
    }

    /**
     * Sets the value of the surroundSoundChannels property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSurroundSoundChannels(String value) {
        this.surroundSoundChannels = value;
    }

    /**
     * Gets the value of the surroundSoundEffects property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the surroundSoundEffects property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSurroundSoundEffects().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getSurroundSoundEffects() {
        if (surroundSoundEffects == null) {
            surroundSoundEffects = new ArrayList<String>();
        }
        return this.surroundSoundEffects;
    }

    /**
     * Gets the value of the switchingProtocol property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the switchingProtocol property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSwitchingProtocol().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getSwitchingProtocol() {
        if (switchingProtocol == null) {
            switchingProtocol = new ArrayList<String>();
        }
        return this.switchingProtocol;
    }

    /**
     * Gets the value of the systemBusSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getSystemBusSpeed() {
        return systemBusSpeed;
    }

    /**
     * Sets the value of the systemBusSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setSystemBusSpeed(BigDecimal value) {
        this.systemBusSpeed = value;
    }

    /**
     * Gets the value of the talkRangeMaximum property.
     * 
     * @return
     *     possible object is
     *     {@link LengthDimension }
     *     
     */
    public LengthDimension getTalkRangeMaximum() {
        return talkRangeMaximum;
    }

    /**
     * Sets the value of the talkRangeMaximum property.
     * 
     * @param value
     *     allowed object is
     *     {@link LengthDimension }
     *     
     */
    public void setTalkRangeMaximum(LengthDimension value) {
        this.talkRangeMaximum = value;
    }

    /**
     * Gets the value of the tapeLength property.
     * 
     * @return
     *     possible object is
     *     {@link TimeDimension }
     *     
     */
    public TimeDimension getTapeLength() {
        return tapeLength;
    }

    /**
     * Sets the value of the tapeLength property.
     * 
     * @param value
     *     allowed object is
     *     {@link TimeDimension }
     *     
     */
    public void setTapeLength(TimeDimension value) {
        this.tapeLength = value;
    }

    /**
     * Gets the value of the televisionInterface property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTelevisionInterface() {
        return televisionInterface;
    }

    /**
     * Sets the value of the televisionInterface property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTelevisionInterface(String value) {
        this.televisionInterface = value;
    }

    /**
     * Gets the value of the televisionPCInterfaceType property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTelevisionPCInterfaceType() {
        return televisionPCInterfaceType;
    }

    /**
     * Sets the value of the televisionPCInterfaceType property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTelevisionPCInterfaceType(String value) {
        this.televisionPCInterfaceType = value;
    }

    /**
     * Gets the value of the temperatureRating property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTemperatureRating() {
        return temperatureRating;
    }

    /**
     * Sets the value of the temperatureRating property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTemperatureRating(String value) {
        this.temperatureRating = value;
    }

    /**
     * Gets the value of the totalHarmonicDistortion property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTotalHarmonicDistortion() {
        return totalHarmonicDistortion;
    }

    /**
     * Sets the value of the totalHarmonicDistortion property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTotalHarmonicDistortion(String value) {
        this.totalHarmonicDistortion = value;
    }

    /**
     * Gets the value of the tracklogPoints property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTracklogPoints() {
        return tracklogPoints;
    }

    /**
     * Sets the value of the tracklogPoints property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTracklogPoints(BigInteger value) {
        this.tracklogPoints = value;
    }

    /**
     * Gets the value of the tracks property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getTracks() {
        return tracks;
    }

    /**
     * Sets the value of the tracks property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setTracks(BigInteger value) {
        this.tracks = value;
    }

    /**
     * Gets the value of the transportProtocol property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the transportProtocol property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getTransportProtocol().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getTransportProtocol() {
        if (transportProtocol == null) {
            transportProtocol = new ArrayList<String>();
        }
        return this.transportProtocol;
    }

    /**
     * Gets the value of the tuner property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTuner() {
        return tuner;
    }

    /**
     * Sets the value of the tuner property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTuner(String value) {
        this.tuner = value;
    }

    /**
     * Gets the value of the tunerTechnology property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the tunerTechnology property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getTunerTechnology().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getTunerTechnology() {
        if (tunerTechnology == null) {
            tunerTechnology = new ArrayList<String>();
        }
        return this.tunerTechnology;
    }

    /**
     * Gets the value of the tvTunerSecondaryAudioProgram property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isTVTunerSecondaryAudioProgram() {
        return tvTunerSecondaryAudioProgram;
    }

    /**
     * Sets the value of the tvTunerSecondaryAudioProgram property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setTVTunerSecondaryAudioProgram(Boolean value) {
        this.tvTunerSecondaryAudioProgram = value;
    }

    /**
     * Gets the value of the upsTechnology property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getUPSTechnology() {
        return upsTechnology;
    }

    /**
     * Sets the value of the upsTechnology property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setUPSTechnology(String value) {
        this.upsTechnology = value;
    }

    /**
     * Gets the value of the vcrType property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the vcrType property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getVCRType().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getVCRType() {
        if (vcrType == null) {
            vcrType = new ArrayList<String>();
        }
        return this.vcrType;
    }

    /**
     * Gets the value of the verticalResolution property.
     * 
     * @return
     *     possible object is
     *     {@link PixelDimension }
     *     
     */
    public PixelDimension getVerticalResolution() {
        return verticalResolution;
    }

    /**
     * Sets the value of the verticalResolution property.
     * 
     * @param value
     *     allowed object is
     *     {@link PixelDimension }
     *     
     */
    public void setVerticalResolution(PixelDimension value) {
        this.verticalResolution = value;
    }

    /**
     * Gets the value of the videoCaptureFormat property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the videoCaptureFormat property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getVideoCaptureFormat().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getVideoCaptureFormat() {
        if (videoCaptureFormat == null) {
            videoCaptureFormat = new ArrayList<String>();
        }
        return this.videoCaptureFormat;
    }

    /**
     * Gets the value of the videoCaptureResolution property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the videoCaptureResolution property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getVideoCaptureResolution().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getVideoCaptureResolution() {
        if (videoCaptureResolution == null) {
            videoCaptureResolution = new ArrayList<String>();
        }
        return this.videoCaptureResolution;
    }

    /**
     * Gets the value of the videoHeadQuantity property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getVideoHeadQuantity() {
        return videoHeadQuantity;
    }

    /**
     * Sets the value of the videoHeadQuantity property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setVideoHeadQuantity(BigInteger value) {
        this.videoHeadQuantity = value;
    }

    /**
     * Gets the value of the videoInput property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the videoInput property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getVideoInput().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getVideoInput() {
        if (videoInput == null) {
            videoInput = new ArrayList<String>();
        }
        return this.videoInput;
    }

    /**
     * Gets the value of the videoInputDigitalStandard property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the videoInputDigitalStandard property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getVideoInputDigitalStandard().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getVideoInputDigitalStandard() {
        if (videoInputDigitalStandard == null) {
            videoInputDigitalStandard = new ArrayList<String>();
        }
        return this.videoInputDigitalStandard;
    }

    /**
     * Gets the value of the videoInputFormat property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the videoInputFormat property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getVideoInputFormat().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getVideoInputFormat() {
        if (videoInputFormat == null) {
            videoInputFormat = new ArrayList<String>();
        }
        return this.videoInputFormat;
    }

    /**
     * Gets the value of the videoOutputFormat property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getVideoOutputFormat() {
        return videoOutputFormat;
    }

    /**
     * Sets the value of the videoOutputFormat property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setVideoOutputFormat(String value) {
        this.videoOutputFormat = value;
    }

    /**
     * Gets the value of the videoOutput property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the videoOutput property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getVideoOutput().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getVideoOutput() {
        if (videoOutput == null) {
            videoOutput = new ArrayList<String>();
        }
        return this.videoOutput;
    }

    /**
     * Gets the value of the videoOutputInterface property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the videoOutputInterface property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getVideoOutputInterface().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getVideoOutputInterface() {
        if (videoOutputInterface == null) {
            videoOutputInterface = new ArrayList<String>();
        }
        return this.videoOutputInterface;
    }

    /**
     * Gets the value of the videoOutputMode property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getVideoOutputMode() {
        return videoOutputMode;
    }

    /**
     * Sets the value of the videoOutputMode property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setVideoOutputMode(String value) {
        this.videoOutputMode = value;
    }

    /**
     * Gets the value of the videoPlaybackFormat property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the videoPlaybackFormat property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getVideoPlaybackFormat().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getVideoPlaybackFormat() {
        if (videoPlaybackFormat == null) {
            videoPlaybackFormat = new ArrayList<String>();
        }
        return this.videoPlaybackFormat;
    }

    /**
     * Gets the value of the videotapePlaybackSpeed property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the videotapePlaybackSpeed property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getVideotapePlaybackSpeed().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getVideotapePlaybackSpeed() {
        if (videotapePlaybackSpeed == null) {
            videotapePlaybackSpeed = new ArrayList<String>();
        }
        return this.videotapePlaybackSpeed;
    }

    /**
     * Gets the value of the videotapeRecordingSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getVideotapeRecordingSpeed() {
        return videotapeRecordingSpeed;
    }

    /**
     * Sets the value of the videotapeRecordingSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setVideotapeRecordingSpeed(String value) {
        this.videotapeRecordingSpeed = value;
    }

    /**
     * Gets the value of the voiceCommunicationSupport property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the voiceCommunicationSupport property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getVoiceCommunicationSupport().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getVoiceCommunicationSupport() {
        if (voiceCommunicationSupport == null) {
            voiceCommunicationSupport = new ArrayList<String>();
        }
        return this.voiceCommunicationSupport;
    }

    /**
     * Gets the value of the voiceCoilDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getVoiceCoilDescription() {
        return voiceCoilDescription;
    }

    /**
     * Sets the value of the voiceCoilDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setVoiceCoilDescription(String value) {
        this.voiceCoilDescription = value;
    }

    /**
     * Gets the value of the voicemailCapability property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isVoicemailCapability() {
        return voicemailCapability;
    }

    /**
     * Sets the value of the voicemailCapability property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setVoicemailCapability(Boolean value) {
        this.voicemailCapability = value;
    }

    /**
     * Gets the value of the voiceOperatedTransmission property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getVoiceOperatedTransmission() {
        return voiceOperatedTransmission;
    }

    /**
     * Sets the value of the voiceOperatedTransmission property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setVoiceOperatedTransmission(String value) {
        this.voiceOperatedTransmission = value;
    }

    /**
     * Gets the value of the voipProtocols property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the voipProtocols property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getVOIPProtocols().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getVOIPProtocols() {
        if (voipProtocols == null) {
            voipProtocols = new ArrayList<String>();
        }
        return this.voipProtocols;
    }

    /**
     * Gets the value of the volumeAcousticSuspension property.
     * 
     * @return
     *     possible object is
     *     {@link VolumeDimension }
     *     
     */
    public VolumeDimension getVolumeAcousticSuspension() {
        return volumeAcousticSuspension;
    }

    /**
     * Sets the value of the volumeAcousticSuspension property.
     * 
     * @param value
     *     allowed object is
     *     {@link VolumeDimension }
     *     
     */
    public void setVolumeAcousticSuspension(VolumeDimension value) {
        this.volumeAcousticSuspension = value;
    }

    /**
     * Gets the value of the warnings property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getWarnings() {
        return warnings;
    }

    /**
     * Sets the value of the warnings property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setWarnings(String value) {
        this.warnings = value;
    }

    /**
     * Gets the value of the warrantyDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getWarrantyDescription() {
        return warrantyDescription;
    }

    /**
     * Sets the value of the warrantyDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setWarrantyDescription(String value) {
        this.warrantyDescription = value;
    }

    /**
     * Gets the value of the waterproofRating property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getWaterproofRating() {
        return waterproofRating;
    }

    /**
     * Sets the value of the waterproofRating property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setWaterproofRating(String value) {
        this.waterproofRating = value;
    }

    /**
     * Gets the value of the waypoints property.
     * 
     * @return
     *     possible object is
     *     {@link BigDecimal }
     *     
     */
    public BigDecimal getWaypoints() {
        return waypoints;
    }

    /**
     * Sets the value of the waypoints property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigDecimal }
     *     
     */
    public void setWaypoints(BigDecimal value) {
        this.waypoints = value;
    }

    /**
     * Gets the value of the waypointsPerRoute property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getWaypointsPerRoute() {
        return waypointsPerRoute;
    }

    /**
     * Sets the value of the waypointsPerRoute property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setWaypointsPerRoute(BigInteger value) {
        this.waypointsPerRoute = value;
    }

    /**
     * Gets the value of the weatherproof property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getWeatherproof() {
        return weatherproof;
    }

    /**
     * Sets the value of the weatherproof property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setWeatherproof(String value) {
        this.weatherproof = value;
    }

    /**
     * Gets the value of the writeSpeed property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getWriteSpeed() {
        return writeSpeed;
    }

    /**
     * Sets the value of the writeSpeed property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setWriteSpeed(String value) {
        this.writeSpeed = value;
    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType>
     *   &lt;simpleContent>
     *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>nonNegativeInteger">
     *       &lt;attribute name="unitOfMeasure" use="required" type="{}DataTransferUnitOfMeasure" />
     *     &lt;/extension>
     *   &lt;/simpleContent>
     * &lt;/complexType>
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "value"
    })
    public static class DataTransferRate {

        @XmlValue
        @XmlSchemaType(name = "nonNegativeInteger")
        protected BigInteger value;
        @XmlAttribute(required = true)
        protected DataTransferUnitOfMeasure unitOfMeasure;

        /**
         * Gets the value of the value property.
         * 
         * @return
         *     possible object is
         *     {@link BigInteger }
         *     
         */
        public BigInteger getValue() {
            return value;
        }

        /**
         * Sets the value of the value property.
         * 
         * @param value
         *     allowed object is
         *     {@link BigInteger }
         *     
         */
        public void setValue(BigInteger value) {
            this.value = value;
        }

        /**
         * Gets the value of the unitOfMeasure property.
         * 
         * @return
         *     possible object is
         *     {@link DataTransferUnitOfMeasure }
         *     
         */
        public DataTransferUnitOfMeasure getUnitOfMeasure() {
            return unitOfMeasure;
        }

        /**
         * Sets the value of the unitOfMeasure property.
         * 
         * @param value
         *     allowed object is
         *     {@link DataTransferUnitOfMeasure }
         *     
         */
        public void setUnitOfMeasure(DataTransferUnitOfMeasure value) {
            this.unitOfMeasure = value;
        }

    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType>
     *   &lt;simpleContent>
     *     &lt;extension base="&lt;>StringNotNull">
     *       &lt;attribute name="unitOfMeasure" use="required" type="{}VolumeUnitOfMeasure" />
     *     &lt;/extension>
     *   &lt;/simpleContent>
     * &lt;/complexType>
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "value"
    })
    public static class PortedBoxVolume {

        @XmlValue
        @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
        protected String value;
        @XmlAttribute(required = true)
        protected VolumeUnitOfMeasure unitOfMeasure;

        /**
         * Gets the value of the value property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        public String getValue() {
            return value;
        }

        /**
         * Sets the value of the value property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        public void setValue(String value) {
            this.value = value;
        }

        /**
         * Gets the value of the unitOfMeasure property.
         * 
         * @return
         *     possible object is
         *     {@link VolumeUnitOfMeasure }
         *     
         */
        public VolumeUnitOfMeasure getUnitOfMeasure() {
            return unitOfMeasure;
        }

        /**
         * Sets the value of the unitOfMeasure property.
         * 
         * @param value
         *     allowed object is
         *     {@link VolumeUnitOfMeasure }
         *     
         */
        public void setUnitOfMeasure(VolumeUnitOfMeasure value) {
            this.unitOfMeasure = value;
        }

    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;choice>
     *         &lt;element ref="{}Antenna"/>
     *         &lt;element ref="{}AudioVideoAccessory"/>
     *         &lt;element ref="{}AVFurniture"/>
     *         &lt;element ref="{}BarCodeReader"/>
     *         &lt;element ref="{}CEBinocular"/>
     *         &lt;element ref="{}CECamcorder"/>
     *         &lt;element ref="{}CameraBagsAndCases"/>
     *         &lt;element ref="{}CEBattery"/>
     *         &lt;element ref="{}CEBlankMedia"/>
     *         &lt;element ref="{}CableOrAdapter"/>
     *         &lt;element ref="{}CECameraFlash"/>
     *         &lt;element ref="{}CameraLenses"/>
     *         &lt;element ref="{}CameraOtherAccessories"/>
     *         &lt;element ref="{}CameraPowerSupply"/>
     *         &lt;element ref="{}CarAlarm"/>
     *         &lt;element ref="{}CarAudioOrTheater"/>
     *         &lt;element ref="{}CarElectronics"/>
     *         &lt;element ref="{}ConsumerElectronics"/>
     *         &lt;element ref="{}CEDigitalCamera"/>
     *         &lt;element ref="{}DigitalPictureFrame"/>
     *         &lt;element ref="{}DigitalVideoRecorder"/>
     *         &lt;element ref="{}DVDPlayerOrRecorder"/>
     *         &lt;element ref="{}CEFilmCamera"/>
     *         &lt;element ref="{}GPSOrNavigationAccessory"/>
     *         &lt;element ref="{}GPSOrNavigationSystem"/>
     *         &lt;element ref="{}HandheldOrPDA"/>
     *         &lt;element ref="{}Headphones"/>
     *         &lt;element ref="{}HomeTheaterSystemOrHTIB"/>
     *         &lt;element ref="{}KindleAccessories"/>
     *         &lt;element ref="{}KindleEReaderAccessories"/>
     *         &lt;element ref="{}KindleFireAccessories"/>
     *         &lt;element ref="{}MediaPlayer"/>
     *         &lt;element ref="{}MediaPlayerOrEReaderAccessory"/>
     *         &lt;element ref="{}MediaStorage"/>
     *         &lt;element ref="{}MiscAudioComponents"/>
     *         &lt;element ref="{}PC"/>
     *         &lt;element ref="{}PDA"/>
     *         &lt;element ref="{}Phone"/>
     *         &lt;element ref="{}PhoneAccessory"/>
     *         &lt;element ref="{}PhotographicStudioItems"/>
     *         &lt;element ref="{}PortableAudio"/>
     *         &lt;element ref="{}PortableAvDevice"/>
     *         &lt;element ref="{}PowerSuppliesOrProtection"/>
     *         &lt;element ref="{}RadarDetector"/>
     *         &lt;element ref="{}RadioOrClockRadio"/>
     *         &lt;element ref="{}ReceiverOrAmplifier"/>
     *         &lt;element ref="{}RemoteControl"/>
     *         &lt;element ref="{}Speakers"/>
     *         &lt;element ref="{}StereoShelfSystem"/>
     *         &lt;element ref="{}CETelescope"/>
     *         &lt;element ref="{}Television"/>
     *         &lt;element ref="{}Tuner"/>
     *         &lt;element ref="{}TVCombos"/>
     *         &lt;element ref="{}TwoWayRadio"/>
     *         &lt;element ref="{}VCR"/>
     *         &lt;element ref="{}CEVideoProjector"/>
     *         &lt;element ref="{}VideoProjectorsAndAccessories"/>
     *       &lt;/choice>
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "antenna",
        "audioVideoAccessory",
        "avFurniture",
        "barCodeReader",
        "ceBinocular",
        "ceCamcorder",
        "cameraBagsAndCases",
        "ceBattery",
        "ceBlankMedia",
        "cableOrAdapter",
        "ceCameraFlash",
        "cameraLenses",
        "cameraOtherAccessories",
        "cameraPowerSupply",
        "carAlarm",
        "carAudioOrTheater",
        "carElectronics",
        "consumerElectronics",
        "ceDigitalCamera",
        "digitalPictureFrame",
        "digitalVideoRecorder",
        "dvdPlayerOrRecorder",
        "ceFilmCamera",
        "gpsOrNavigationAccessory",
        "gpsOrNavigationSystem",
        "handheldOrPDA",
        "headphones",
        "homeTheaterSystemOrHTIB",
        "kindleAccessories",
        "kindleEReaderAccessories",
        "kindleFireAccessories",
        "mediaPlayer",
        "mediaPlayerOrEReaderAccessory",
        "mediaStorage",
        "miscAudioComponents",
        "pc",
        "pda",
        "phone",
        "phoneAccessory",
        "photographicStudioItems",
        "portableAudio",
        "portableAvDevice",
        "powerSuppliesOrProtection",
        "radarDetector",
        "radioOrClockRadio",
        "receiverOrAmplifier",
        "remoteControl",
        "speakers",
        "stereoShelfSystem",
        "ceTelescope",
        "television",
        "tuner",
        "tvCombos",
        "twoWayRadio",
        "vcr",
        "ceVideoProjector",
        "videoProjectorsAndAccessories"
    })
    public static class ProductType {

        @XmlElement(name = "Antenna")
        protected Antenna antenna;
        @XmlElement(name = "AudioVideoAccessory")
        protected AudioVideoAccessory audioVideoAccessory;
        @XmlElement(name = "AVFurniture")
        protected AVFurniture avFurniture;
        @XmlElement(name = "BarCodeReader")
        protected BarCodeReader barCodeReader;
        @XmlElement(name = "CEBinocular")
        protected CEBinocular ceBinocular;
        @XmlElement(name = "CECamcorder")
        protected CECamcorder ceCamcorder;
        @XmlElement(name = "CameraBagsAndCases")
        protected CameraBagsAndCases cameraBagsAndCases;
        @XmlElement(name = "CEBattery")
        protected CEBattery ceBattery;
        @XmlElement(name = "CEBlankMedia")
        protected CEBlankMedia ceBlankMedia;
        @XmlElement(name = "CableOrAdapter")
        protected CableOrAdapter cableOrAdapter;
        @XmlElement(name = "CECameraFlash")
        protected CECameraFlash ceCameraFlash;
        @XmlElement(name = "CameraLenses")
        protected CameraLenses cameraLenses;
        @XmlElement(name = "CameraOtherAccessories")
        protected CameraOtherAccessories cameraOtherAccessories;
        @XmlElement(name = "CameraPowerSupply")
        protected CameraPowerSupply cameraPowerSupply;
        @XmlElement(name = "CarAlarm")
        protected CarAlarm carAlarm;
        @XmlElement(name = "CarAudioOrTheater")
        protected CarAudioOrTheater carAudioOrTheater;
        @XmlElement(name = "CarElectronics")
        protected CarElectronics carElectronics;
        @XmlElement(name = "ConsumerElectronics")
        protected ConsumerElectronics consumerElectronics;
        @XmlElement(name = "CEDigitalCamera")
        protected CEDigitalCamera ceDigitalCamera;
        @XmlElement(name = "DigitalPictureFrame")
        protected DigitalPictureFrame digitalPictureFrame;
        @XmlElement(name = "DigitalVideoRecorder")
        protected DigitalVideoRecorder digitalVideoRecorder;
        @XmlElement(name = "DVDPlayerOrRecorder")
        protected DVDPlayerOrRecorder dvdPlayerOrRecorder;
        @XmlElement(name = "CEFilmCamera")
        protected CEFilmCamera ceFilmCamera;
        @XmlElement(name = "GPSOrNavigationAccessory")
        protected GPSOrNavigationAccessory gpsOrNavigationAccessory;
        @XmlElement(name = "GPSOrNavigationSystem")
        protected GPSOrNavigationSystem gpsOrNavigationSystem;
        @XmlElement(name = "HandheldOrPDA")
        protected HandheldOrPDA handheldOrPDA;
        @XmlElement(name = "Headphones")
        protected Headphones headphones;
        @XmlElement(name = "HomeTheaterSystemOrHTIB")
        protected HomeTheaterSystemOrHTIB homeTheaterSystemOrHTIB;
        @XmlElement(name = "KindleAccessories")
        protected KindleAccessories kindleAccessories;
        @XmlElement(name = "KindleEReaderAccessories")
        protected KindleEReaderAccessories kindleEReaderAccessories;
        @XmlElement(name = "KindleFireAccessories")
        protected KindleFireAccessories kindleFireAccessories;
        @XmlElement(name = "MediaPlayer")
        protected MediaPlayer mediaPlayer;
        @XmlElement(name = "MediaPlayerOrEReaderAccessory")
        protected MediaPlayerOrEReaderAccessory mediaPlayerOrEReaderAccessory;
        @XmlElement(name = "MediaStorage")
        protected MediaStorage mediaStorage;
        @XmlElement(name = "MiscAudioComponents")
        protected MiscAudioComponents miscAudioComponents;
        @XmlElement(name = "PC")
        protected PC pc;
        @XmlElement(name = "PDA")
        protected PDA pda;
        @XmlElement(name = "Phone")
        protected Phone phone;
        @XmlElement(name = "PhoneAccessory")
        protected PhoneAccessory phoneAccessory;
        @XmlElement(name = "PhotographicStudioItems")
        protected PhotographicStudioItems photographicStudioItems;
        @XmlElement(name = "PortableAudio")
        protected PortableAudio portableAudio;
        @XmlElement(name = "PortableAvDevice")
        protected PortableAvDevice portableAvDevice;
        @XmlElement(name = "PowerSuppliesOrProtection")
        protected PowerSuppliesOrProtection powerSuppliesOrProtection;
        @XmlElement(name = "RadarDetector")
        protected RadarDetector radarDetector;
        @XmlElement(name = "RadioOrClockRadio")
        protected RadioOrClockRadio radioOrClockRadio;
        @XmlElement(name = "ReceiverOrAmplifier")
        protected ReceiverOrAmplifier receiverOrAmplifier;
        @XmlElement(name = "RemoteControl")
        protected RemoteControl remoteControl;
        @XmlElement(name = "Speakers")
        protected Speakers speakers;
        @XmlElement(name = "StereoShelfSystem")
        protected StereoShelfSystem stereoShelfSystem;
        @XmlElement(name = "CETelescope")
        protected CETelescope ceTelescope;
        @XmlElement(name = "Television")
        protected Television television;
        @XmlElement(name = "Tuner")
        protected Tuner tuner;
        @XmlElement(name = "TVCombos")
        protected TVCombos tvCombos;
        @XmlElement(name = "TwoWayRadio")
        protected TwoWayRadio twoWayRadio;
        @XmlElement(name = "VCR")
        protected VCR vcr;
        @XmlElement(name = "CEVideoProjector")
        protected CEVideoProjector ceVideoProjector;
        @XmlElement(name = "VideoProjectorsAndAccessories")
        protected VideoProjectorsAndAccessories videoProjectorsAndAccessories;

        /**
         * Gets the value of the antenna property.
         * 
         * @return
         *     possible object is
         *     {@link Antenna }
         *     
         */
        public Antenna getAntenna() {
            return antenna;
        }

        /**
         * Sets the value of the antenna property.
         * 
         * @param value
         *     allowed object is
         *     {@link Antenna }
         *     
         */
        public void setAntenna(Antenna value) {
            this.antenna = value;
        }

        /**
         * Gets the value of the audioVideoAccessory property.
         * 
         * @return
         *     possible object is
         *     {@link AudioVideoAccessory }
         *     
         */
        public AudioVideoAccessory getAudioVideoAccessory() {
            return audioVideoAccessory;
        }

        /**
         * Sets the value of the audioVideoAccessory property.
         * 
         * @param value
         *     allowed object is
         *     {@link AudioVideoAccessory }
         *     
         */
        public void setAudioVideoAccessory(AudioVideoAccessory value) {
            this.audioVideoAccessory = value;
        }

        /**
         * Gets the value of the avFurniture property.
         * 
         * @return
         *     possible object is
         *     {@link AVFurniture }
         *     
         */
        public AVFurniture getAVFurniture() {
            return avFurniture;
        }

        /**
         * Sets the value of the avFurniture property.
         * 
         * @param value
         *     allowed object is
         *     {@link AVFurniture }
         *     
         */
        public void setAVFurniture(AVFurniture value) {
            this.avFurniture = value;
        }

        /**
         * Gets the value of the barCodeReader property.
         * 
         * @return
         *     possible object is
         *     {@link BarCodeReader }
         *     
         */
        public BarCodeReader getBarCodeReader() {
            return barCodeReader;
        }

        /**
         * Sets the value of the barCodeReader property.
         * 
         * @param value
         *     allowed object is
         *     {@link BarCodeReader }
         *     
         */
        public void setBarCodeReader(BarCodeReader value) {
            this.barCodeReader = value;
        }

        /**
         * Gets the value of the ceBinocular property.
         * 
         * @return
         *     possible object is
         *     {@link CEBinocular }
         *     
         */
        public CEBinocular getCEBinocular() {
            return ceBinocular;
        }

        /**
         * Sets the value of the ceBinocular property.
         * 
         * @param value
         *     allowed object is
         *     {@link CEBinocular }
         *     
         */
        public void setCEBinocular(CEBinocular value) {
            this.ceBinocular = value;
        }

        /**
         * Gets the value of the ceCamcorder property.
         * 
         * @return
         *     possible object is
         *     {@link CECamcorder }
         *     
         */
        public CECamcorder getCECamcorder() {
            return ceCamcorder;
        }

        /**
         * Sets the value of the ceCamcorder property.
         * 
         * @param value
         *     allowed object is
         *     {@link CECamcorder }
         *     
         */
        public void setCECamcorder(CECamcorder value) {
            this.ceCamcorder = value;
        }

        /**
         * Gets the value of the cameraBagsAndCases property.
         * 
         * @return
         *     possible object is
         *     {@link CameraBagsAndCases }
         *     
         */
        public CameraBagsAndCases getCameraBagsAndCases() {
            return cameraBagsAndCases;
        }

        /**
         * Sets the value of the cameraBagsAndCases property.
         * 
         * @param value
         *     allowed object is
         *     {@link CameraBagsAndCases }
         *     
         */
        public void setCameraBagsAndCases(CameraBagsAndCases value) {
            this.cameraBagsAndCases = value;
        }

        /**
         * Gets the value of the ceBattery property.
         * 
         * @return
         *     possible object is
         *     {@link CEBattery }
         *     
         */
        public CEBattery getCEBattery() {
            return ceBattery;
        }

        /**
         * Sets the value of the ceBattery property.
         * 
         * @param value
         *     allowed object is
         *     {@link CEBattery }
         *     
         */
        public void setCEBattery(CEBattery value) {
            this.ceBattery = value;
        }

        /**
         * Gets the value of the ceBlankMedia property.
         * 
         * @return
         *     possible object is
         *     {@link CEBlankMedia }
         *     
         */
        public CEBlankMedia getCEBlankMedia() {
            return ceBlankMedia;
        }

        /**
         * Sets the value of the ceBlankMedia property.
         * 
         * @param value
         *     allowed object is
         *     {@link CEBlankMedia }
         *     
         */
        public void setCEBlankMedia(CEBlankMedia value) {
            this.ceBlankMedia = value;
        }

        /**
         * Gets the value of the cableOrAdapter property.
         * 
         * @return
         *     possible object is
         *     {@link CableOrAdapter }
         *     
         */
        public CableOrAdapter getCableOrAdapter() {
            return cableOrAdapter;
        }

        /**
         * Sets the value of the cableOrAdapter property.
         * 
         * @param value
         *     allowed object is
         *     {@link CableOrAdapter }
         *     
         */
        public void setCableOrAdapter(CableOrAdapter value) {
            this.cableOrAdapter = value;
        }

        /**
         * Gets the value of the ceCameraFlash property.
         * 
         * @return
         *     possible object is
         *     {@link CECameraFlash }
         *     
         */
        public CECameraFlash getCECameraFlash() {
            return ceCameraFlash;
        }

        /**
         * Sets the value of the ceCameraFlash property.
         * 
         * @param value
         *     allowed object is
         *     {@link CECameraFlash }
         *     
         */
        public void setCECameraFlash(CECameraFlash value) {
            this.ceCameraFlash = value;
        }

        /**
         * Gets the value of the cameraLenses property.
         * 
         * @return
         *     possible object is
         *     {@link CameraLenses }
         *     
         */
        public CameraLenses getCameraLenses() {
            return cameraLenses;
        }

        /**
         * Sets the value of the cameraLenses property.
         * 
         * @param value
         *     allowed object is
         *     {@link CameraLenses }
         *     
         */
        public void setCameraLenses(CameraLenses value) {
            this.cameraLenses = value;
        }

        /**
         * Gets the value of the cameraOtherAccessories property.
         * 
         * @return
         *     possible object is
         *     {@link CameraOtherAccessories }
         *     
         */
        public CameraOtherAccessories getCameraOtherAccessories() {
            return cameraOtherAccessories;
        }

        /**
         * Sets the value of the cameraOtherAccessories property.
         * 
         * @param value
         *     allowed object is
         *     {@link CameraOtherAccessories }
         *     
         */
        public void setCameraOtherAccessories(CameraOtherAccessories value) {
            this.cameraOtherAccessories = value;
        }

        /**
         * Gets the value of the cameraPowerSupply property.
         * 
         * @return
         *     possible object is
         *     {@link CameraPowerSupply }
         *     
         */
        public CameraPowerSupply getCameraPowerSupply() {
            return cameraPowerSupply;
        }

        /**
         * Sets the value of the cameraPowerSupply property.
         * 
         * @param value
         *     allowed object is
         *     {@link CameraPowerSupply }
         *     
         */
        public void setCameraPowerSupply(CameraPowerSupply value) {
            this.cameraPowerSupply = value;
        }

        /**
         * Gets the value of the carAlarm property.
         * 
         * @return
         *     possible object is
         *     {@link CarAlarm }
         *     
         */
        public CarAlarm getCarAlarm() {
            return carAlarm;
        }

        /**
         * Sets the value of the carAlarm property.
         * 
         * @param value
         *     allowed object is
         *     {@link CarAlarm }
         *     
         */
        public void setCarAlarm(CarAlarm value) {
            this.carAlarm = value;
        }

        /**
         * Gets the value of the carAudioOrTheater property.
         * 
         * @return
         *     possible object is
         *     {@link CarAudioOrTheater }
         *     
         */
        public CarAudioOrTheater getCarAudioOrTheater() {
            return carAudioOrTheater;
        }

        /**
         * Sets the value of the carAudioOrTheater property.
         * 
         * @param value
         *     allowed object is
         *     {@link CarAudioOrTheater }
         *     
         */
        public void setCarAudioOrTheater(CarAudioOrTheater value) {
            this.carAudioOrTheater = value;
        }

        /**
         * Gets the value of the carElectronics property.
         * 
         * @return
         *     possible object is
         *     {@link CarElectronics }
         *     
         */
        public CarElectronics getCarElectronics() {
            return carElectronics;
        }

        /**
         * Sets the value of the carElectronics property.
         * 
         * @param value
         *     allowed object is
         *     {@link CarElectronics }
         *     
         */
        public void setCarElectronics(CarElectronics value) {
            this.carElectronics = value;
        }

        /**
         * Gets the value of the consumerElectronics property.
         * 
         * @return
         *     possible object is
         *     {@link ConsumerElectronics }
         *     
         */
        public ConsumerElectronics getConsumerElectronics() {
            return consumerElectronics;
        }

        /**
         * Sets the value of the consumerElectronics property.
         * 
         * @param value
         *     allowed object is
         *     {@link ConsumerElectronics }
         *     
         */
        public void setConsumerElectronics(ConsumerElectronics value) {
            this.consumerElectronics = value;
        }

        /**
         * Gets the value of the ceDigitalCamera property.
         * 
         * @return
         *     possible object is
         *     {@link CEDigitalCamera }
         *     
         */
        public CEDigitalCamera getCEDigitalCamera() {
            return ceDigitalCamera;
        }

        /**
         * Sets the value of the ceDigitalCamera property.
         * 
         * @param value
         *     allowed object is
         *     {@link CEDigitalCamera }
         *     
         */
        public void setCEDigitalCamera(CEDigitalCamera value) {
            this.ceDigitalCamera = value;
        }

        /**
         * Gets the value of the digitalPictureFrame property.
         * 
         * @return
         *     possible object is
         *     {@link DigitalPictureFrame }
         *     
         */
        public DigitalPictureFrame getDigitalPictureFrame() {
            return digitalPictureFrame;
        }

        /**
         * Sets the value of the digitalPictureFrame property.
         * 
         * @param value
         *     allowed object is
         *     {@link DigitalPictureFrame }
         *     
         */
        public void setDigitalPictureFrame(DigitalPictureFrame value) {
            this.digitalPictureFrame = value;
        }

        /**
         * Gets the value of the digitalVideoRecorder property.
         * 
         * @return
         *     possible object is
         *     {@link DigitalVideoRecorder }
         *     
         */
        public DigitalVideoRecorder getDigitalVideoRecorder() {
            return digitalVideoRecorder;
        }

        /**
         * Sets the value of the digitalVideoRecorder property.
         * 
         * @param value
         *     allowed object is
         *     {@link DigitalVideoRecorder }
         *     
         */
        public void setDigitalVideoRecorder(DigitalVideoRecorder value) {
            this.digitalVideoRecorder = value;
        }

        /**
         * Gets the value of the dvdPlayerOrRecorder property.
         * 
         * @return
         *     possible object is
         *     {@link DVDPlayerOrRecorder }
         *     
         */
        public DVDPlayerOrRecorder getDVDPlayerOrRecorder() {
            return dvdPlayerOrRecorder;
        }

        /**
         * Sets the value of the dvdPlayerOrRecorder property.
         * 
         * @param value
         *     allowed object is
         *     {@link DVDPlayerOrRecorder }
         *     
         */
        public void setDVDPlayerOrRecorder(DVDPlayerOrRecorder value) {
            this.dvdPlayerOrRecorder = value;
        }

        /**
         * Gets the value of the ceFilmCamera property.
         * 
         * @return
         *     possible object is
         *     {@link CEFilmCamera }
         *     
         */
        public CEFilmCamera getCEFilmCamera() {
            return ceFilmCamera;
        }

        /**
         * Sets the value of the ceFilmCamera property.
         * 
         * @param value
         *     allowed object is
         *     {@link CEFilmCamera }
         *     
         */
        public void setCEFilmCamera(CEFilmCamera value) {
            this.ceFilmCamera = value;
        }

        /**
         * Gets the value of the gpsOrNavigationAccessory property.
         * 
         * @return
         *     possible object is
         *     {@link GPSOrNavigationAccessory }
         *     
         */
        public GPSOrNavigationAccessory getGPSOrNavigationAccessory() {
            return gpsOrNavigationAccessory;
        }

        /**
         * Sets the value of the gpsOrNavigationAccessory property.
         * 
         * @param value
         *     allowed object is
         *     {@link GPSOrNavigationAccessory }
         *     
         */
        public void setGPSOrNavigationAccessory(GPSOrNavigationAccessory value) {
            this.gpsOrNavigationAccessory = value;
        }

        /**
         * Gets the value of the gpsOrNavigationSystem property.
         * 
         * @return
         *     possible object is
         *     {@link GPSOrNavigationSystem }
         *     
         */
        public GPSOrNavigationSystem getGPSOrNavigationSystem() {
            return gpsOrNavigationSystem;
        }

        /**
         * Sets the value of the gpsOrNavigationSystem property.
         * 
         * @param value
         *     allowed object is
         *     {@link GPSOrNavigationSystem }
         *     
         */
        public void setGPSOrNavigationSystem(GPSOrNavigationSystem value) {
            this.gpsOrNavigationSystem = value;
        }

        /**
         * Gets the value of the handheldOrPDA property.
         * 
         * @return
         *     possible object is
         *     {@link HandheldOrPDA }
         *     
         */
        public HandheldOrPDA getHandheldOrPDA() {
            return handheldOrPDA;
        }

        /**
         * Sets the value of the handheldOrPDA property.
         * 
         * @param value
         *     allowed object is
         *     {@link HandheldOrPDA }
         *     
         */
        public void setHandheldOrPDA(HandheldOrPDA value) {
            this.handheldOrPDA = value;
        }

        /**
         * Gets the value of the headphones property.
         * 
         * @return
         *     possible object is
         *     {@link Headphones }
         *     
         */
        public Headphones getHeadphones() {
            return headphones;
        }

        /**
         * Sets the value of the headphones property.
         * 
         * @param value
         *     allowed object is
         *     {@link Headphones }
         *     
         */
        public void setHeadphones(Headphones value) {
            this.headphones = value;
        }

        /**
         * Gets the value of the homeTheaterSystemOrHTIB property.
         * 
         * @return
         *     possible object is
         *     {@link HomeTheaterSystemOrHTIB }
         *     
         */
        public HomeTheaterSystemOrHTIB getHomeTheaterSystemOrHTIB() {
            return homeTheaterSystemOrHTIB;
        }

        /**
         * Sets the value of the homeTheaterSystemOrHTIB property.
         * 
         * @param value
         *     allowed object is
         *     {@link HomeTheaterSystemOrHTIB }
         *     
         */
        public void setHomeTheaterSystemOrHTIB(HomeTheaterSystemOrHTIB value) {
            this.homeTheaterSystemOrHTIB = value;
        }

        /**
         * Gets the value of the kindleAccessories property.
         * 
         * @return
         *     possible object is
         *     {@link KindleAccessories }
         *     
         */
        public KindleAccessories getKindleAccessories() {
            return kindleAccessories;
        }

        /**
         * Sets the value of the kindleAccessories property.
         * 
         * @param value
         *     allowed object is
         *     {@link KindleAccessories }
         *     
         */
        public void setKindleAccessories(KindleAccessories value) {
            this.kindleAccessories = value;
        }

        /**
         * Gets the value of the kindleEReaderAccessories property.
         * 
         * @return
         *     possible object is
         *     {@link KindleEReaderAccessories }
         *     
         */
        public KindleEReaderAccessories getKindleEReaderAccessories() {
            return kindleEReaderAccessories;
        }

        /**
         * Sets the value of the kindleEReaderAccessories property.
         * 
         * @param value
         *     allowed object is
         *     {@link KindleEReaderAccessories }
         *     
         */
        public void setKindleEReaderAccessories(KindleEReaderAccessories value) {
            this.kindleEReaderAccessories = value;
        }

        /**
         * Gets the value of the kindleFireAccessories property.
         * 
         * @return
         *     possible object is
         *     {@link KindleFireAccessories }
         *     
         */
        public KindleFireAccessories getKindleFireAccessories() {
            return kindleFireAccessories;
        }

        /**
         * Sets the value of the kindleFireAccessories property.
         * 
         * @param value
         *     allowed object is
         *     {@link KindleFireAccessories }
         *     
         */
        public void setKindleFireAccessories(KindleFireAccessories value) {
            this.kindleFireAccessories = value;
        }

        /**
         * Gets the value of the mediaPlayer property.
         * 
         * @return
         *     possible object is
         *     {@link MediaPlayer }
         *     
         */
        public MediaPlayer getMediaPlayer() {
            return mediaPlayer;
        }

        /**
         * Sets the value of the mediaPlayer property.
         * 
         * @param value
         *     allowed object is
         *     {@link MediaPlayer }
         *     
         */
        public void setMediaPlayer(MediaPlayer value) {
            this.mediaPlayer = value;
        }

        /**
         * Gets the value of the mediaPlayerOrEReaderAccessory property.
         * 
         * @return
         *     possible object is
         *     {@link MediaPlayerOrEReaderAccessory }
         *     
         */
        public MediaPlayerOrEReaderAccessory getMediaPlayerOrEReaderAccessory() {
            return mediaPlayerOrEReaderAccessory;
        }

        /**
         * Sets the value of the mediaPlayerOrEReaderAccessory property.
         * 
         * @param value
         *     allowed object is
         *     {@link MediaPlayerOrEReaderAccessory }
         *     
         */
        public void setMediaPlayerOrEReaderAccessory(MediaPlayerOrEReaderAccessory value) {
            this.mediaPlayerOrEReaderAccessory = value;
        }

        /**
         * Gets the value of the mediaStorage property.
         * 
         * @return
         *     possible object is
         *     {@link MediaStorage }
         *     
         */
        public MediaStorage getMediaStorage() {
            return mediaStorage;
        }

        /**
         * Sets the value of the mediaStorage property.
         * 
         * @param value
         *     allowed object is
         *     {@link MediaStorage }
         *     
         */
        public void setMediaStorage(MediaStorage value) {
            this.mediaStorage = value;
        }

        /**
         * Gets the value of the miscAudioComponents property.
         * 
         * @return
         *     possible object is
         *     {@link MiscAudioComponents }
         *     
         */
        public MiscAudioComponents getMiscAudioComponents() {
            return miscAudioComponents;
        }

        /**
         * Sets the value of the miscAudioComponents property.
         * 
         * @param value
         *     allowed object is
         *     {@link MiscAudioComponents }
         *     
         */
        public void setMiscAudioComponents(MiscAudioComponents value) {
            this.miscAudioComponents = value;
        }

        /**
         * Gets the value of the pc property.
         * 
         * @return
         *     possible object is
         *     {@link PC }
         *     
         */
        public PC getPC() {
            return pc;
        }

        /**
         * Sets the value of the pc property.
         * 
         * @param value
         *     allowed object is
         *     {@link PC }
         *     
         */
        public void setPC(PC value) {
            this.pc = value;
        }

        /**
         * Gets the value of the pda property.
         * 
         * @return
         *     possible object is
         *     {@link PDA }
         *     
         */
        public PDA getPDA() {
            return pda;
        }

        /**
         * Sets the value of the pda property.
         * 
         * @param value
         *     allowed object is
         *     {@link PDA }
         *     
         */
        public void setPDA(PDA value) {
            this.pda = value;
        }

        /**
         * Gets the value of the phone property.
         * 
         * @return
         *     possible object is
         *     {@link Phone }
         *     
         */
        public Phone getPhone() {
            return phone;
        }

        /**
         * Sets the value of the phone property.
         * 
         * @param value
         *     allowed object is
         *     {@link Phone }
         *     
         */
        public void setPhone(Phone value) {
            this.phone = value;
        }

        /**
         * Gets the value of the phoneAccessory property.
         * 
         * @return
         *     possible object is
         *     {@link PhoneAccessory }
         *     
         */
        public PhoneAccessory getPhoneAccessory() {
            return phoneAccessory;
        }

        /**
         * Sets the value of the phoneAccessory property.
         * 
         * @param value
         *     allowed object is
         *     {@link PhoneAccessory }
         *     
         */
        public void setPhoneAccessory(PhoneAccessory value) {
            this.phoneAccessory = value;
        }

        /**
         * Gets the value of the photographicStudioItems property.
         * 
         * @return
         *     possible object is
         *     {@link PhotographicStudioItems }
         *     
         */
        public PhotographicStudioItems getPhotographicStudioItems() {
            return photographicStudioItems;
        }

        /**
         * Sets the value of the photographicStudioItems property.
         * 
         * @param value
         *     allowed object is
         *     {@link PhotographicStudioItems }
         *     
         */
        public void setPhotographicStudioItems(PhotographicStudioItems value) {
            this.photographicStudioItems = value;
        }

        /**
         * Gets the value of the portableAudio property.
         * 
         * @return
         *     possible object is
         *     {@link PortableAudio }
         *     
         */
        public PortableAudio getPortableAudio() {
            return portableAudio;
        }

        /**
         * Sets the value of the portableAudio property.
         * 
         * @param value
         *     allowed object is
         *     {@link PortableAudio }
         *     
         */
        public void setPortableAudio(PortableAudio value) {
            this.portableAudio = value;
        }

        /**
         * Gets the value of the portableAvDevice property.
         * 
         * @return
         *     possible object is
         *     {@link PortableAvDevice }
         *     
         */
        public PortableAvDevice getPortableAvDevice() {
            return portableAvDevice;
        }

        /**
         * Sets the value of the portableAvDevice property.
         * 
         * @param value
         *     allowed object is
         *     {@link PortableAvDevice }
         *     
         */
        public void setPortableAvDevice(PortableAvDevice value) {
            this.portableAvDevice = value;
        }

        /**
         * Gets the value of the powerSuppliesOrProtection property.
         * 
         * @return
         *     possible object is
         *     {@link PowerSuppliesOrProtection }
         *     
         */
        public PowerSuppliesOrProtection getPowerSuppliesOrProtection() {
            return powerSuppliesOrProtection;
        }

        /**
         * Sets the value of the powerSuppliesOrProtection property.
         * 
         * @param value
         *     allowed object is
         *     {@link PowerSuppliesOrProtection }
         *     
         */
        public void setPowerSuppliesOrProtection(PowerSuppliesOrProtection value) {
            this.powerSuppliesOrProtection = value;
        }

        /**
         * Gets the value of the radarDetector property.
         * 
         * @return
         *     possible object is
         *     {@link RadarDetector }
         *     
         */
        public RadarDetector getRadarDetector() {
            return radarDetector;
        }

        /**
         * Sets the value of the radarDetector property.
         * 
         * @param value
         *     allowed object is
         *     {@link RadarDetector }
         *     
         */
        public void setRadarDetector(RadarDetector value) {
            this.radarDetector = value;
        }

        /**
         * Gets the value of the radioOrClockRadio property.
         * 
         * @return
         *     possible object is
         *     {@link RadioOrClockRadio }
         *     
         */
        public RadioOrClockRadio getRadioOrClockRadio() {
            return radioOrClockRadio;
        }

        /**
         * Sets the value of the radioOrClockRadio property.
         * 
         * @param value
         *     allowed object is
         *     {@link RadioOrClockRadio }
         *     
         */
        public void setRadioOrClockRadio(RadioOrClockRadio value) {
            this.radioOrClockRadio = value;
        }

        /**
         * Gets the value of the receiverOrAmplifier property.
         * 
         * @return
         *     possible object is
         *     {@link ReceiverOrAmplifier }
         *     
         */
        public ReceiverOrAmplifier getReceiverOrAmplifier() {
            return receiverOrAmplifier;
        }

        /**
         * Sets the value of the receiverOrAmplifier property.
         * 
         * @param value
         *     allowed object is
         *     {@link ReceiverOrAmplifier }
         *     
         */
        public void setReceiverOrAmplifier(ReceiverOrAmplifier value) {
            this.receiverOrAmplifier = value;
        }

        /**
         * Gets the value of the remoteControl property.
         * 
         * @return
         *     possible object is
         *     {@link RemoteControl }
         *     
         */
        public RemoteControl getRemoteControl() {
            return remoteControl;
        }

        /**
         * Sets the value of the remoteControl property.
         * 
         * @param value
         *     allowed object is
         *     {@link RemoteControl }
         *     
         */
        public void setRemoteControl(RemoteControl value) {
            this.remoteControl = value;
        }

        /**
         * Gets the value of the speakers property.
         * 
         * @return
         *     possible object is
         *     {@link Speakers }
         *     
         */
        public Speakers getSpeakers() {
            return speakers;
        }

        /**
         * Sets the value of the speakers property.
         * 
         * @param value
         *     allowed object is
         *     {@link Speakers }
         *     
         */
        public void setSpeakers(Speakers value) {
            this.speakers = value;
        }

        /**
         * Gets the value of the stereoShelfSystem property.
         * 
         * @return
         *     possible object is
         *     {@link StereoShelfSystem }
         *     
         */
        public StereoShelfSystem getStereoShelfSystem() {
            return stereoShelfSystem;
        }

        /**
         * Sets the value of the stereoShelfSystem property.
         * 
         * @param value
         *     allowed object is
         *     {@link StereoShelfSystem }
         *     
         */
        public void setStereoShelfSystem(StereoShelfSystem value) {
            this.stereoShelfSystem = value;
        }

        /**
         * Gets the value of the ceTelescope property.
         * 
         * @return
         *     possible object is
         *     {@link CETelescope }
         *     
         */
        public CETelescope getCETelescope() {
            return ceTelescope;
        }

        /**
         * Sets the value of the ceTelescope property.
         * 
         * @param value
         *     allowed object is
         *     {@link CETelescope }
         *     
         */
        public void setCETelescope(CETelescope value) {
            this.ceTelescope = value;
        }

        /**
         * Gets the value of the television property.
         * 
         * @return
         *     possible object is
         *     {@link Television }
         *     
         */
        public Television getTelevision() {
            return television;
        }

        /**
         * Sets the value of the television property.
         * 
         * @param value
         *     allowed object is
         *     {@link Television }
         *     
         */
        public void setTelevision(Television value) {
            this.television = value;
        }

        /**
         * Gets the value of the tuner property.
         * 
         * @return
         *     possible object is
         *     {@link Tuner }
         *     
         */
        public Tuner getTuner() {
            return tuner;
        }

        /**
         * Sets the value of the tuner property.
         * 
         * @param value
         *     allowed object is
         *     {@link Tuner }
         *     
         */
        public void setTuner(Tuner value) {
            this.tuner = value;
        }

        /**
         * Gets the value of the tvCombos property.
         * 
         * @return
         *     possible object is
         *     {@link TVCombos }
         *     
         */
        public TVCombos getTVCombos() {
            return tvCombos;
        }

        /**
         * Sets the value of the tvCombos property.
         * 
         * @param value
         *     allowed object is
         *     {@link TVCombos }
         *     
         */
        public void setTVCombos(TVCombos value) {
            this.tvCombos = value;
        }

        /**
         * Gets the value of the twoWayRadio property.
         * 
         * @return
         *     possible object is
         *     {@link TwoWayRadio }
         *     
         */
        public TwoWayRadio getTwoWayRadio() {
            return twoWayRadio;
        }

        /**
         * Sets the value of the twoWayRadio property.
         * 
         * @param value
         *     allowed object is
         *     {@link TwoWayRadio }
         *     
         */
        public void setTwoWayRadio(TwoWayRadio value) {
            this.twoWayRadio = value;
        }

        /**
         * Gets the value of the vcr property.
         * 
         * @return
         *     possible object is
         *     {@link VCR }
         *     
         */
        public VCR getVCR() {
            return vcr;
        }

        /**
         * Sets the value of the vcr property.
         * 
         * @param value
         *     allowed object is
         *     {@link VCR }
         *     
         */
        public void setVCR(VCR value) {
            this.vcr = value;
        }

        /**
         * Gets the value of the ceVideoProjector property.
         * 
         * @return
         *     possible object is
         *     {@link CEVideoProjector }
         *     
         */
        public CEVideoProjector getCEVideoProjector() {
            return ceVideoProjector;
        }

        /**
         * Sets the value of the ceVideoProjector property.
         * 
         * @param value
         *     allowed object is
         *     {@link CEVideoProjector }
         *     
         */
        public void setCEVideoProjector(CEVideoProjector value) {
            this.ceVideoProjector = value;
        }

        /**
         * Gets the value of the videoProjectorsAndAccessories property.
         * 
         * @return
         *     possible object is
         *     {@link VideoProjectorsAndAccessories }
         *     
         */
        public VideoProjectorsAndAccessories getVideoProjectorsAndAccessories() {
            return videoProjectorsAndAccessories;
        }

        /**
         * Sets the value of the videoProjectorsAndAccessories property.
         * 
         * @param value
         *     allowed object is
         *     {@link VideoProjectorsAndAccessories }
         *     
         */
        public void setVideoProjectorsAndAccessories(VideoProjectorsAndAccessories value) {
            this.videoProjectorsAndAccessories = value;
        }

    }


    /**
     * <p>Java class for anonymous complex type.
     * 
     * <p>The following schema fragment specifies the expected content contained within this class.
     * 
     * <pre>
     * &lt;complexType>
     *   &lt;simpleContent>
     *     &lt;extension base="&lt;>StringNotNull">
     *       &lt;attribute name="unitOfMeasure" use="required" type="{}VolumeUnitOfMeasure" />
     *     &lt;/extension>
     *   &lt;/simpleContent>
     * &lt;/complexType>
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "value"
    })
    public static class SealedBoxVolume {

        @XmlValue
        @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
        protected String value;
        @XmlAttribute(required = true)
        protected VolumeUnitOfMeasure unitOfMeasure;

        /**
         * Gets the value of the value property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        public String getValue() {
            return value;
        }

        /**
         * Sets the value of the value property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        public void setValue(String value) {
            this.value = value;
        }

        /**
         * Gets the value of the unitOfMeasure property.
         * 
         * @return
         *     possible object is
         *     {@link VolumeUnitOfMeasure }
         *     
         */
        public VolumeUnitOfMeasure getUnitOfMeasure() {
            return unitOfMeasure;
        }

        /**
         * Sets the value of the unitOfMeasure property.
         * 
         * @param value
         *     allowed object is
         *     {@link VolumeUnitOfMeasure }
         *     
         */
        public void setUnitOfMeasure(VolumeUnitOfMeasure value) {
            this.unitOfMeasure = value;
        }

    }

}