code: protected final NUMERICTYPE convertToOutputType(final double in) {
          if (performCalculationsAsDoublePrimitive) {
              NUMERICTYPE returnThis = null;
              try {
                  returnThis = this.constructorOfNumericType.newInstance(in);
              } catch (IllegalArgumentException e) {
                  e.printStackTrace();
              } catch (InstantiationException e) {
                  e.printStackTrace();
              } catch (IllegalAccessException e) {
                  e.printStackTrace();
              } catch (InvocationTargetException e) {
                  e.printStackTrace();
              }
              return returnThis;
          } else {
              return convertToOutputType(Double.toString(in));
          }
      }
docs: If the result of a mathematical operation in a subclass must conform to
  <code>NUMERICTYPE</code>, call this method.
  
  @param in
  The primitive value to convert.
  @return the value of <code>in</code> typed as <code>NUMERICTYPE</code>