   private func resolve(container: DependencyContainer) throws -> T? {
     let resolved: T?
     if required {
-      resolved = try container.resolve(tag: tag, builder: { (factory: () throws -> T) in try factory() }) as T
+      resolved = try container.resolve(tag: tag) as T
     }
     else {
-      resolved = try? container.resolve(tag: tag, builder: { (factory: () throws -> T) in try factory() }) as T
+      resolved = try? container.resolve(tag: tag) as T
     }
     return resolved
   }

 - seealso: `InjectedWeak`

*/
public final class Injected<T>: _InjectedPropertyBox<T>, _AnyInjectedPropertyBox {
  
  var _value: Any? = nil {
    didSet {
      if let value = value { didInject(value) }
    }
  }
  
  ///Wrapped value.
  public var value: T? {
    return _value as? T
  }

  /**

    super.init(required: required, tag: tag, didInject: didInject)
  }
  
  public func resolve(container: DependencyContainer) throws {
    let resolved: T? = try super.resolve(container)
    value = resolved
  }
  
}
