code: 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;
      }
docs: @param $abstract
  @param array $args
  
  @return mixed