I have found this method in JTS
 JTS.toGeometry(bbox);

so I could replace that code by 

  BoundingBox bbox = envelope.toBounds(targetCrs);
   Polygon polygon = JTS.toGeometry(bbox);