private void applyNormalStroke( Stroke stroke, UOM uom, Shape object, double perpendicularOffset, PerpendicularOffsetType type ) { int linecap = getLinecap( stroke ); float miterLimit = 10; int linejoin = getLinejoin( stroke ); float dashoffset = (float) uomCalculator.considerUOM( stroke.dashoffset, uom ); float[] dasharray = stroke.dasharray == null ? null : new float[stroke.dasharray.length]; if ( dasharray != null ) { for ( int i = 0; i < stroke.dasharray.length; ++i ) { dasharray[i] = (float) uomCalculator.considerUOM( stroke.dasharray[i], uom ); } } BasicStroke bs = new BasicStroke( (float) uomCalculator.considerUOM( stroke.width, uom ), linecap, linejoin, miterLimit, dasharray, dashoffset ); double poff = uomCalculator.considerUOM( perpendicularOffset, uom ); if ( !isZero( poff ) ) { graphics.setStroke( new OffsetStroke( poff, bs, type ) ); } else { graphics.setStroke( bs ); } }