/**
  * Build the builder.
  *
  * @return FormBuilder
  */
 public function build()
 {
     /*
      * Hide breadcrumbs by default.
      */
     array_set($this->parameters, 'options.breadcrumb', array_get($this->parameters, 'options.breadcrumb', false));
     /*
      * Cache and hash!
      */
     array_set($this->parameters, 'key', md5(json_encode($this->parameters)));
     /*
      * Set the forms URL after obtaining
      * our parameter hash for the form.
      */
     array_set($this->parameters, 'options.url', array_get($this->parameters, 'options.url', $this->builder->getOption('url', 'form/handle/' . array_get($this->parameters, 'key'))));
     $this->cache->remember('form::' . array_get($this->parameters, 'key'), 30, function () {
         return $this->parameters;
     });
     if (is_array(array_get($this->parameters, 'options'))) {
         foreach (array_pull($this->parameters, 'options') as $key => $value) {
             $this->builder->setOption($key, $value);
         }
     }
     return $this->hydrator->hydrate($this->builder, $this->parameters);
 }