public <T> Method getSetMethod(final Object object, final String fieldName, final Class<?> argumentType) {
		if( object == null ) {
			throw new NullPointerException("object should not be null");
		} else if( fieldName == null ) {
			throw new NullPointerException("fieldName should not be null");
		} else if( argumentType == null ) {
			throw new NullPointerException("argumentType should not be null");
		}
		
		Method method = setMethodsCache.get(object.getClass(), argumentType, fieldName);
		if( method == null ) {
			method = ReflectionUtils.findSetter(object, fieldName, argumentType);
			setMethodsCache.set(object.getClass(), argumentType, fieldName, method);
		}
		return method;
	}
public < T > Method getSetMethod ( final Object object , final String fieldName , final Class < ? > argumentType ) { if ( object == null ) { throw new NullPointerException ( "object should not be null" ) ; } else if ( fieldName == null ) { throw new NullPointerException ( "fieldName should not be null" ) ; } else if ( argumentType == null ) { throw new NullPointerException ( "argumentType should not be null" ) ; } Method method = setMethodsCache . get ( object . getClass ( ) , argumentType , fieldName ) ; if ( method == null ) { method = ReflectionUtils . findSetter ( object , fieldName , argumentType ) ; setMethodsCache . set ( object . getClass ( ) , argumentType , fieldName , method ) ; } return method ; }
Returns the setter method for the field on an object.

@param object
the object
@param fieldName
the field name
@param argumentType
the type to be passed to the setter
@param <T>
the object type
@return the setter method associated with the field on the object
@throws NullPointerException
if object, fieldName or fieldType is null
@throws SuperCsvReflectionException
if the setter doesn't exist or is not visible