public function mergeWith(self $objects) : self { $clone = clone $this; foreach ($objects->objects as $reference => $object) { $clone->objects[$reference] = $object; $clone->array[$reference] = $object->getInstance(); } return $clone; }