class InsertAttributeModel {

    public void execute(boolean ignore, String preparer,
            String role, Object defaultValue, String defaultValueRole,
            String defaultValueType, String name, Attribute value,
            boolean flush, Request request, ModelBody modelBody) throws IOException {
        TilesContainer container = TilesAccess.getCurrentContainer(request);
        Deque<Object> composeStack = ComposeStackUtil.getComposeStack(request);
        Attribute attribute = resolveAttribute(container, ignore, preparer,
                role, defaultValue, defaultValueRole, defaultValueType, name,
                value, request);
        if (attribute != null) {
            composeStack.push(attribute);
        }
        modelBody.evaluateWithoutWriting();
        container = TilesAccess.getCurrentContainer(request);
        if (attribute != null) {
            attribute = (Attribute) composeStack.pop();
        }
        renderAttribute(container, ignore, attribute, request);
        if (flush) {
            request.getWriter().flush();
        }
    }

    public  InsertAttributeModel();
    public  InsertAttributeModel(AttributeResolver attributeResolver);

}