public <T> ISyncHandler<? super T, ? extends ISyncableData> getHandler(T caller)
	{
		@SuppressWarnings("unchecked")
		ISyncHandler<? super T, ? extends ISyncableData> handler = (ISyncHandler<? super T, ? extends ISyncableData>) handlers.get(caller.getClass());
		if (handler == null)
		{
			MalisisCore.log.error("No ISyncHandler registered for type '{}'", caller.getClass());
			return null;
		}

		return handler;
	}
public < T > ISyncHandler < ? super T , ? extends ISyncableData > getHandler ( T caller ) { @ SuppressWarnings ( "unchecked" ) ISyncHandler < ? super T , ? extends ISyncableData > handler = ( ISyncHandler < ? super T , ? extends ISyncableData > ) handlers . get ( caller . getClass ( ) ) ; if ( handler == null ) { MalisisCore . log . error ( "No ISyncHandler registered for type '{}'" , caller . getClass ( ) ) ; return null ; } return handler ; }
Gets the {@link ISyncHandler} for the specified object.

@param <T> the generic type
@param caller the caller
@return the handler