src/main/java/com/billybyte/dse/outputs/GreeksOutput.java
private void putToGreeksMap(
			DerivativeReturn dr, 
			String derivativeShortName,
			BigDecimal greeksExceptionValue){
		
		DerivativeSensitivityTypeInterface senseForDr = dr.getSensitivityId();
		
		if(!greeksMap.containsKey(senseForDr)){
			greeksMap.put(senseForDr,new HashMap<String,Map<String,BigDecimal>>());
		}
		Map<String,Map<String,BigDecimal>> mapOuter = greeksMap.get(senseForDr);
		if(!mapOuter.containsKey(derivativeShortName)){
			mapOuter.put(derivativeShortName, new HashMap<String, BigDecimal>());
		}
		Map<String, BigDecimal> map = mapOuter.get(derivativeShortName);
		String withRespectToShortName = dr.getWithRespectToShortName();
//		BigDecimal value = BigDecimal.ZERO;
		Utils.prtObMess(this.getClass(), dr.toString());
		if(dr.isValidReturn()){
			try {
				BigDecimal value = new BigDecimal(dr.getValue().toString());
				map.put(withRespectToShortName, value);
			} catch (NumberFormatException e) {
				map.put(withRespectToShortName, greeksExceptionValue.setScale(5,RoundingMode.HALF_EVEN));			
			}
		}else{
			map.put(withRespectToShortName, greeksExceptionValue.setScale(5,RoundingMode.HALF_EVEN));			
		}

	}
/**
	 * Main routine that populates a map of 3 levels
	 * level0 = DerivativeSensitivityTypeInterface
	 * level1 = derivativeShortName
	 * level2 = withRespectToShortName
	 * value = BigDecimal greek value or exception value
	 * 
	 * @param dr = DerivativeReturn
	 * @param derivativeShortName = String
	 * @param greeksExceptionValue = BigDecimal
	 */
Main routine that populates a map of 3 levels
level0 = DerivativeSensitivityTypeInterface
level1 = derivativeShortName
level2 = withRespectToShortName
value = BigDecimal greek value or exception value


Main routine that populates a map of 3 levels level0 = DerivativeSensitivityTypeInterface level1 = derivativeShortName level2 = withRespectToShortName value = BigDecimal greek value or exception value
private void putToGreeksMap(
			DerivativeReturn dr, 
			String derivativeShortName,
			BigDecimal greeksExceptionValue){
		DerivativeSensitivityTypeInterface senseForDr = dr.getSensitivityId();
		if(!greeksMap.containsKey(senseForDr)){
			greeksMap.put(senseForDr,new HashMap<String,Map<String,BigDecimal>>());
		}
		Map<String,Map<String,BigDecimal>> mapOuter = greeksMap.get(senseForDr);
		if(!mapOuter.containsKey(derivativeShortName)){
			mapOuter.put(derivativeShortName, new HashMap<String, BigDecimal>());
		}
		Map<String, BigDecimal> map = mapOuter.get(derivativeShortName);
		String withRespectToShortName = dr.getWithRespectToShortName();
		Utils.prtObMess(this.getClass(), dr.toString());
		if(dr.isValidReturn()){
			try {
				BigDecimal value = new BigDecimal(dr.getValue().toString());
				map.put(withRespectToShortName, value);
			} catch (NumberFormatException e) {
				map.put(withRespectToShortName, greeksExceptionValue.setScale(5,RoundingMode.HALF_EVEN));			
			}
		}else{
			map.put(withRespectToShortName, greeksExceptionValue.setScale(5,RoundingMode.HALF_EVEN));			
		}
	}
private void putToGreeksMap ( DerivativeReturn dr , String derivativeShortName , BigDecimal greeksExceptionValue ) { DerivativeSensitivityTypeInterface senseForDr = dr . getSensitivityId ( ) ; if ( ! greeksMap . containsKey ( senseForDr ) ) { greeksMap . put ( senseForDr , new HashMap < String , Map < String , BigDecimal > > ( ) ) ; } Map < String , Map < String , BigDecimal > > mapOuter = greeksMap . get ( senseForDr ) ; if ( ! mapOuter . containsKey ( derivativeShortName ) ) { mapOuter . put ( derivativeShortName , new HashMap < String , BigDecimal > ( ) ) ; } Map < String , BigDecimal > map = mapOuter . get ( derivativeShortName ) ; String withRespectToShortName = dr . getWithRespectToShortName ( ) ; Utils . prtObMess ( this . getClass ( ) , dr . toString ( ) ) ; if ( dr . isValidReturn ( ) ) { try { BigDecimal value = new BigDecimal ( dr . getValue ( ) . toString ( ) ) ; map . put ( withRespectToShortName , value ) ; } catch ( NumberFormatException e ) { map . put ( withRespectToShortName , greeksExceptionValue . setScale ( 5 , RoundingMode . HALF_EVEN ) ) ; } } else { map . put ( withRespectToShortName , greeksExceptionValue . setScale ( 5 , RoundingMode . HALF_EVEN ) ) ; } }
Main routine that populates a map of 3 levels
 level0 = DerivativeSensitivityTypeInterface
 level1 = derivativeShortName
 level2 = withRespectToShortName
 value = BigDecimal greek value or exception value
Main routine that populates a map of 3 levels level0 = DerivativeSensitivityTypeInterface level1 = derivativeShortName level2 = withRespectToShortName value = BigDecimal greek value or exception value
//		BigDecimal value = BigDecimal.ZERO;