class Definition extends BasicAttributeContext {

    @Override
    public boolean equals(Object obj) {
        Definition def = (Definition) obj;
        return nullSafeEquals(name, def.name)
                && nullSafeEquals(inherit, def.inherit) && super.equals(def);
    }

    public  Definition();
    public  Definition(Definition definition);
    public  Definition(String name, Attribute templateAttribute,
                               Map<String, Attribute> attributes);

}