public Map<String,Object> getMapObject(){
		Map<String, Object> desc = new LinkedHashMap<String, Object>();
		if ( format_ != null ) desc.put("format",format_);
		if ( name_ != null ) desc.put("name",name_);
		if ( subscribe_ != null ) desc.put("subscribe",subscribe_);
		if ( visibility_ != null ) desc.put("visibility",visibility_);
		Map<String, Object> retentionObj = new LinkedHashMap<String, Object>();
		boolean hasElement = false;
		if( retention.getCount() != null ) {
			retentionObj.put("count",retention.getCount());
			hasElement = true;
		}
		if( retention.getDuration() != null ) {
			retentionObj.put("duration",retention.getDuration());
			hasElement = true;
		}		
		if (hasElement){
			desc.put("retention",retentionObj);
		}		
		if ( preprocess.size() > 0 ){
			desc.put("preprocess",preprocess);
		}		
		return desc;		
	}