/**
   * @param uiClassInterface
   * @param familly
   * @return
   */
  public static <T extends UIComponent> T getInstance(Class<T> uiClassInterface, String familly) {

    final GenericUIComponent<T> object = new GenericUIComponent<T>(uiClassInterface, familly);
    final GenericUIComponentProxyHandler proxyHandler =
        new GenericUIComponentProxyHandler(object, uiClassInterface);
    return Introspector.of(object).newProxyInstance(proxyHandler, uiClassInterface);
  }
  protected void readExtentions(List<BootstrapContainerExtention> extentions) {

    ManagedFile file =
        this.getContainer()
            .getFileContext()
            .getAppConfigRepository()
            .retrive("mh-bootstrap.config");

    if (file.exists()) {
      Properties p = PropertiesFile.from(file).toProperties();

      for (String extention :
          Splitter.on(",").split(p.getProperty("middleheaven.bootstrap.extentions"))) {
        extentions.add(
            Introspector.of(BootstrapContainerExtention.class).load(extention).newInstance());
      }
    }
  }