class ClaraBuilder {

    public Component createFrom(InputStream xml) {
        Binder binder = new Binder(idPrefix);

        // Inflate the XML to a component (tree).
        LayoutInflater inflater = createInflater();
        Component result = inflater.inflate(xml, binder
                .getAlreadyAssignedFields(controller), componentProviders
                .toArray(new ComponentProvider[componentProviders.size()]));

        // Bind to controller.
        binder.bind(result, controller);
        return result;
    }

      ClaraBuilder();

}