code: public Map<Integer, String> asMap() {
  		initializePosition();
  		final Map<Integer, String> results = Maps.newHashMap();
  		
  		Mapper.from(positions.get()).entryLoop(new Decisional<Map.Entry<Integer, Pair<Integer,Integer>>>() {
  
  			@Override protected void decision(Entry<Integer, Pair<Integer, Integer>> input) {
  				results.put(input.getKey(), doSubstring(input.getValue()));
  			}
  		});
  		
  		return results;
  	}
docs: Returns the substring results in given range as a map, left position number as key, substring as value
  
  @return