code: @Override
      public double doubleValue( CssFormatter formatter ) {
          Expression leftOp = operands.get( 0 );
          int type = leftOp.getDataType( formatter );
          double value = leftOp.doubleValue( formatter );
          String unit = leftOp.unit( formatter );
          for( int i = 1; i < operands.size(); i++ ) {
              Expression rightOp = operands.get( i );
              int rightType = rightOp.getDataType( formatter );
              double right = rightOp.doubleValue( formatter );
              switch( operator ) {
                  case '+':
                  case '-':
                      right /= unitFactor( unit, rightOp.unit( formatter ), false );
              }
              if( type == COLOR ) {
                  if( rightType == COLOR ) {
                      value = doubleValue2Colors( value, right );
                  } else {
                      value = doubleValueLeftColor( value, right );
                  }
              } else {
                  if( rightType == COLOR ) {
                      value = doubleValueRightColor( value, right );
                  } else {
                      value = doubleValue( value, right );
                  }
              }
          }
          return value;
      }
docs: {@inheritDoc}