protected function resolveAbstract($abstract, array $args) {
        if (is_callable($abstract)) {
            return $this->container->call($abstract, $args);
        } else if (is_object($abstract)) {
            return $abstract;
        } else if (class_exists($abstract)) {
            return $this->getClass(new ClassDefinition($abstract, null), $args);
        }

        return null;
    }
protected function resolveAbstract($abstract, array $args) {
        if (is_callable($abstract)) {
            return $this->container->call($abstract, $args);
        } else if (is_object($abstract)) {
            return $abstract;
        } else if (class_exists($abstract)) {
            return $this->getClass(new ClassDefinition($abstract, null), $args);
        }

        return null;
    }
@param $abstract
@param array $args

@return mixed