code: public static ExpressionHash hashCodeOfThis(List<String> properties) {
  		List<Expression> arguments = new ArrayList<>();
  		for (String property : properties) {
  			arguments.add(property(new VarThis(), property));
  		}
  		return new ExpressionHash(arguments);
  	}
docs: Returns hash of the properties
  
  @param properties list of the properties which will be hashed
  @return new instance of the ExpressionHash