protected GeneralPath adjustShapeForRotation(GeneralPath projectedShape,double anchorX,double anchorY){
  if (renderRotationAngle != null) {
    AffineTransform at=new AffineTransform();
    at.rotate(rotationAngle,anchorX,anchorY);
    PathIterator pi=projectedShape.getPathIterator(at);
    GeneralPath rotPath=new GeneralPath();
    rotPath.append(pi,false);
    return rotPath;
  }
  return projectedShape;
}

protected GeneralPath adjustShapeForRotation ( GeneralPath projectedShape , double anchorX , double anchorY ) { if ( renderRotationAngle != null ) { AffineTransform at = new AffineTransform ( ) ; at . rotate ( rotationAngle , anchorX , anchorY ) ; PathIterator pi = projectedShape . getPathIterator ( at ) ; GeneralPath rotPath = new GeneralPath ( ) ; rotPath . append ( pi , false ) ; return rotPath ; } return projectedShape ; }
internally evaluates renderrotationangle and if necessary , applies the rotation to the shape . if no rotation modifications are needed , the gp is returned as is .
