public synchronized boolean generate(Projection p,boolean forceProjectAll){
  boolean isGenerated=super.generate(p,forceProjectAll);
  GeneralPath projectedShape=getShape();
  if (projectedShape != null) {
    projectedShape.closePath();
  }
  return isGenerated;
}

public synchronized boolean generate ( Projection p , boolean forceProjectAll ) { boolean isGenerated = super . generate ( p , forceProjectAll ) ; GeneralPath projectedShape = getShape ( ) ; if ( projectedShape != null ) { projectedShape . closePath ( ) ; } return isGenerated ; }
create the generalpath used for the internal shape objects held by the omgeometries added . with the omarealist , all of the components are combined to make a single area . so updateshape , which is called from super . generate ( ) , calls appendshapeedge ( ) instead of appending each part shape to the main shape . this method closes off the generalpath shape , so it will be considered a polygon .
