docs: public static Object negative(final Object o1, ASTNode node)
  	{
  		if (o1 != null)
  		{
  			switch (getBaseType(o1))
  			{
  			// case STRING:
  			// return String.valueOf(o1) + String.valueOf(o2);
  				case INTEGER:
  					return -((Number) o1).intValue();
  				case LONG:
  					return -((Number) o1).longValue();
  				case DOUBLE:
  					return -((Number) o1).doubleValue();
  				case FLOAT:
  					return -((Number) o1).floatValue();
  				case SHORT:
  					return -((Number) o1).shortValue();
  				case HS:
  					BigDecimal bd = (BigDecimal) o1;
  					return bd;
  
  				default:
  					throw new RuntimeException("value not a number");
  			}
  		}
  		else
  		{
  			throw valueIsNullException(o1, node);
  		}
  	}