/**
  * Initialize the object with parameters.
  *
  * If any unknown parameters passed, they will be ignored.
  *
  * @param array $parameters An associative array of parameters
  * @return self provides a fluent interface.
  */
 public function initializeParameters($parameters = array())
 {
     $this->parameters = new ParameterContainer();
     Helper::initialize($this, $parameters);
     return $this;
 }
 /**
  * Initialize this gateway with default parameters
  *
  * @param  array $parameters
  * @return $this
  */
 public function initialize(array $parameters = array())
 {
     $this->parameters = new ParameterContainer();
     // set default parameters
     foreach ($this->getDefaultParameters() as $key => $value) {
         if (is_array($value)) {
             $this->parameters->set($key, reset($value));
         } else {
             $this->parameters->set($key, $value);
         }
     }
     Helper::initialize($this, $parameters);
     return $this;
 }