code: private Object checkValue(Object value) throws ExpressionException {
  	// is a 1 > Array
  	if (dimension > 1) {
  	    if (value instanceof Array) {
  		if (((Array) value).getDimension() != dimension - 1) throw new ExpressionException("You can only Append an Array with " + (dimension - 1) + " Dimension",
  			"array has wrong dimension, now is " + (((Array) value).getDimension()) + " but it must be " + (dimension - 1));
  	    }
  	    else throw new ExpressionException("You can only Append an Array with " + (dimension - 1) + " Dimension", "now is a object of type " + Caster.toClassName(value));
  	}
  	return value;
      }
docs: !!! all methods that use this method must be sync check if value is valid to insert to array (to
  a multidimesnional array only array with one smaller dimension can be inserted)
  
  @param value value to check
  @return checked value
  @throws ExpressionException