callbacks.put(requestID, new OBSCommandBuilder<T>(session, node.toString(), request));

This throws: The method put(String, OBSCommandBuilder<OBSRequest>) in the type Map<String,OBSCommandBuilder<OBSRequest>> is not applicable for the arguments (String, OBSCommandBuilder<T>)

callbacks is defined like this: private Map<String, OBSCommandBuilder<OBSRequest>> callbacks;

This is the header of the method that I'm calling the callbacks.put in:
public <T extends OBSRequest> OBSCommandBuilder<T> sendRequest(T request)

Because I'm forcing T to be of type OBSRequest, why is this failing?