public function withFieldDescriptor($fieldDescriptor) { $new = new self($this->pattern, array(), $this->strict); $new->fieldDescriptors = $this->fieldDescriptors; $new->addFieldDescriptor($fieldDescriptor); return $new; }