/**
  * Post inject procedure
  *
  * @param object          $object
  * @param BoundDefinition $definition
  */
 private function postInject($object, BoundDefinition $definition)
 {
     // set life cycle
     if ($definition) {
         $this->setLifeCycle($object, $definition);
     }
     // set singleton object
     if ($definition->isSingleton) {
         $this->container->set($definition->interface, $object);
     }
 }
 /**
  * @param \ArrayObject $bindings
  * @param string       $class
  *
  * @return object
  */
 private function getToProviderBound(\ArrayObject $bindings, $class)
 {
     $provider = $bindings[$class]['*']['to'][1];
     $in = isset($bindings[$class]['*']['in']) ? $bindings[$class]['*']['in'] : null;
     if ($in !== Scope::SINGLETON) {
         $instance = $this->injector->getInstance($provider)->get();
         return $instance;
     }
     if ($this->container->has($class)) {
         return $this->container->get($class);
     }
     $instance = $this->injector->getInstance($provider)->get();
     $this->container->set($class, $instance);
     return $instance;
 }