public function testIsMutable()
{
$caller = new MutableReference();
$method = 'setUsername';
$arguments = [$arg0 = new \stdClass()];
$definition = new MethodCallWithReference($caller, $method, $arguments);
// Mutate injected elements
$caller->setId('user.factory');
$arg0->foo = 'bar';
// Mutate retrieved elements
/** @var MutableReference $caller */
$caller = $definition->getCaller();
$caller->setId('user.factory');
$arguments = $definition->getArguments();
$arguments[0]->foz = 'baz';
$this->assertEquals(new MutableReference(), $definition->getCaller());
$this->assertEquals([StdClassFactory::create(['foo' => 'bar', 'foz' => 'baz'])], $definition->getArguments());
}