public function __construct($data = null)
 {
     self::$DEFAULT_CONTENT_TYPE = new MarketplaceWebService_Model_ContentType(array('ContentType' => 'application/octet-stream'));
     // Here we're setting the content-type field directly to the object, but beware the actual
     // method of construction from associative arrays from the client interface would do something like:
     // $parameters = array ('ContentType' => array('ContentType' => 'application/octet-stream'));
     $this->fields = array('Marketplace' => array('FieldValue' => null, 'FieldType' => 'string'), 'Merchant' => array('FieldValue' => null, 'FieldType' => 'string'), 'MWSAuthToken' => array('FieldValue' => null, 'FieldType' => 'string'), 'MarketplaceIdList' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_IdList'), 'FeedContent' => array('FieldValue' => null, 'FieldType' => 'string'), 'FeedType' => array('FieldValue' => null, 'FieldType' => 'string'), 'PurgeAndReplace' => array('FieldValue' => null, 'FieldType' => 'bool'), 'ContentMd5' => array('FieldValue' => null, 'FieldType' => 'string'), 'ContentType' => array('FieldValue' => self::$DEFAULT_CONTENT_TYPE, 'FieldType' => 'MarketplaceWebService_Model_ContentType'));
     parent::__construct($data);
     if (!is_null($this->fields['ContentType']['FieldValue'])) {
         $this->verifySupportedContentType($this->fields['ContentType']['FieldValue']);
     }
 }