public function instantiate($id, array $args = []) {
        return $this->rethrowExceptions(function() use ($id, $args) {
            if ( ! class_exists($id)) {
                throw new ClassNotFoundException(s(
                    'Class "%s" not found.', $id
                ));
            }

            return $this->resolver->resolveWithoutDefinition($id, $args);
        });
    }
public function instantiate($id, array $args = []) {
        return $this->rethrowExceptions(function() use ($id, $args) {
            if ( ! class_exists($id)) {
                throw new ClassNotFoundException(s(
                    'Class "%s" not found.', $id
                ));
            }

            return $this->resolver->resolveWithoutDefinition($id, $args);
        });
    }
@param $id
@param array $args

@return mixed
@throws ClassNotFoundException
@throws ImplementationNotFoundException
@throws ValueNotFoundException