}
if (!(newStroke instanceof BasicStroke))
{
return;
}
final BasicStroke nStroke = (BasicStroke) newStroke;
final boolean oldOk = (oldStroke instanceof BasicStroke);
BasicStroke oStroke = null;
if (oldOk)
{
oStroke = (BasicStroke) oldStroke;
}
if (!oldOk || nStroke.getLineWidth() != oStroke.getLineWidth())
{
cb.setLineWidth(nStroke.getLineWidth());
}
if (!oldOk || nStroke.getEndCap() != oStroke.getEndCap())
{
switch (nStroke.getEndCap())
{
case BasicStroke.CAP_BUTT:
cb.setLineCap(0);
break;
case BasicStroke.CAP_SQUARE:
cb.setLineCap(2);
break;
default:
cb.setLineCap(1);
}
}
if (!oldOk || nStroke.getLineJoin() != oStroke.getLineJoin())
{
switch (nStroke.getLineJoin())
{
case BasicStroke.JOIN_MITER:
cb.setLineJoin(0);
break;
case BasicStroke.JOIN_BEVEL:
cb.setLineJoin(2);
break;
default:
cb.setLineJoin(1);
}
}
if (!oldOk || nStroke.getMiterLimit() != oStroke.getMiterLimit())
{
cb.setMiterLimit(nStroke.getMiterLimit());
}
final boolean makeDash;
if (oldOk)
{
if (nStroke.getDashArray() != null)
{
if (nStroke.getDashPhase() != oStroke.getDashPhase())
{
makeDash = true;
}
else if (!Arrays.equals(nStroke.getDashArray(), oStroke.getDashArray()))
{
makeDash = true;
}
else
{
makeDash = false;
}
}
else if (oStroke.getDashArray() != null)
{
makeDash = true;
}
else
{