code: public void addAttributeValue(final String attributeName, final Value attributeValue, Environment in) {
  		if (in == null)
  			in = GlobalEnvironment.INSTANCE;
  		Attribute attr = attributes.get(attributeName);
  		if (attr == null) {
  			attr = new Attribute(attributeName);
  			attributes.put(attr.getName(), attr);
  		}
  		attr.addValue(attributeValue, in);
  
  		Map<String, Object> valueMap = contentMap.get(in);
  		if(valueMap == null)
  			valueMap = new HashMap<>();
  		valueMap.put(attributeName, attributeValue.getRaw());
  		contentMap.put(in, valueMap);
  		//TODO check for loops and process such situation
  		if (attributeValue instanceof IncludeValue)
  			externalConfigurations.add(((IncludeValue) attributeValue).getConfigName());
  	}
docs: Adds an attribute value. If the attribute doesn't exist it will be created.
  
  @param attributeName  the name of the attribute.
  @param attributeValue the value of the attribute in the given environment.
  @param in             the environment in which the attribute value applies