public function __construct()
{
$class = self::qualify(get_class($this));
$args = func_get_args();
if (isset(self::$factories[$class])) {
foreach (self::$factories[$class] as $i => $quip) {
if ($args == $quip['expectation']) {
call_user_func($quip['factory'], new Mime($this));
return;
}
}
throw new \Exception(sprintf('The constructor for %s was never mimicked with the provided expectations: %s', $class, print_r($args, TRUE)));
}
}