code: @Override
  	public String convert(ObjectType sourceObject)
  	{
  		if(sourceObject == null)
  			return null;
  		
  		String methodName = null;
  		Object value =null;
  		StringBuilder csv = new StringBuilder();
  		Object[] args = {};
  		Method m;
  
  		
  		for (Entry<String,Method> entry : this.methods.entrySet())
  		{
  			m = entry.getValue();
  			methodName = m.getName();
  			
  			if(methodName.equals("getClass"))
  				continue;
  			
  			try
  			{
  				value = m.invoke(sourceObject, args);
  				
  				if(csv.length() != 0)
  					csv.append(SEPARATOR);
  				
  				csv.append(QUOTE).append(format(value)).append(QUOTE);
  				
  			}
  			catch (IllegalAccessException|IllegalArgumentException|InvocationTargetException e)
  			{
  				throw new RuntimeException("Unable to get property for method:"+methodName+" error:"+e.getMessage(),e);
  			}
  		}
  		
  		csv.append(NEWLINE);
  		
  		return csv.toString();
  		
  	}
docs: ------------------------------------------------