class BasicAttributeContext implements AttributeContext, Serializable {

    public void inheritCascadedAttributes(AttributeContext context) {
        if (context instanceof BasicAttributeContext) {
            copyCascadedAttributes((BasicAttributeContext) context);
        } else {
            this.cascadedAttributes = new HashMap<String, Attribute>();
            Set<String> parentAttributeNames = context.getCascadedAttributeNames();
            if (parentAttributeNames != null) {
                for (String name : parentAttributeNames) {
                    cascadedAttributes.put(name, new Attribute(context
                            .getCascadedAttribute(name)));
                }
            }
        }
    }

    public  BasicAttributeContext();
    public  BasicAttributeContext(Map<String, Attribute> attributes);
    public  BasicAttributeContext(AttributeContext context);
    public  BasicAttributeContext(BasicAttributeContext context);

}