Calculo do CRC16

Pessoal estou desenvolvendo um código que implementa um protocolo de comunicação serial, no meu pacote que será enviado via comunicação seria existem vários campos, e dentre eles o CRC-16. Eu preciso calcular o CRC de todos os campos do pacote tirando o campo CRC lógico. Existe alguma classe em Java que já tenha feito o cálculo de CRC-16? Como faço para fazer esse cálculo?

Obrigado pessoal.

Alguém gente?