The declaration of the implementation private method `checkValueType`, has a misuse of generics by only using a naked type parameter as a return type. One solution is to ensure that the return type is a subtype of the known SocketFlow type, by passing the expected class literal.
http://cr.openjdk.java.net/~chegar/8209454.00/ -Chris.