protected OMGraphic makeEsriGraphic(LittleEndianInputStream iStream,DrawingAttributes drawingAttributes,Object pointRepresentation,ReadByteTracker byteTracker) throws IOException, FormatException {
  EsriGraphic eg=null;
  int shapeType=iStream.readLEInt();
  byteTracker.addRead(4);
  if (verbose) {
    logger.info("reading shape type: " + shapeType + ", "+ ShapeUtils.getStringForType(shapeType));
  }
switch (shapeType) {
case SHAPE_TYPE_NULL:
    break;
case SHAPE_TYPE_POINT:
  eg=createPointGraphic(iStream,pointRepresentation,drawingAttributes,byteTracker);
break;
case SHAPE_TYPE_POLYLINE:
eg=createPolylineGraphic(iStream,drawingAttributes,byteTracker);
break;
case SHAPE_TYPE_POLYGON:
eg=createPolygonGraphic(iStream,drawingAttributes,byteTracker);
break;
case SHAPE_TYPE_MULTIPOINT:
eg=createMultiPointGraphic(iStream,pointRepresentation,drawingAttributes,byteTracker);
break;
case SHAPE_TYPE_POINTZ:
eg=createPointZGraphic(iStream,pointRepresentation,drawingAttributes,byteTracker);
break;
case SHAPE_TYPE_POLYLINEZ:
eg=createPolylineZGraphic(iStream,drawingAttributes,byteTracker);
break;
case SHAPE_TYPE_POLYGONZ:
eg=createPolygonZGraphic(iStream,drawingAttributes,byteTracker);
break;
case SHAPE_TYPE_MULTIPOINTZ:
eg=createMultiPointZGraphic(iStream,pointRepresentation,drawingAttributes,byteTracker);
break;
case SHAPE_TYPE_POINTM:
eg=createPointMGraphic(iStream,pointRepresentation,drawingAttributes,byteTracker);
break;
case SHAPE_TYPE_POLYLINEM:
eg=createPolylineMGraphic(iStream,drawingAttributes,byteTracker);
break;
case SHAPE_TYPE_POLYGONM:
eg=createPolygonMGraphic(iStream,drawingAttributes,byteTracker);
break;
case SHAPE_TYPE_MULTIPOINTM:
eg=createMultiPointMGraphic(iStream,pointRepresentation,drawingAttributes,byteTracker);
break;
case SHAPE_TYPE_MULTIPATCH:
default :
}
return (OMGraphic)eg;
}

protected OMGraphic makeEsriGraphic ( LittleEndianInputStream iStream , DrawingAttributes drawingAttributes , Object pointRepresentation , ReadByteTracker byteTracker ) throws IOException , FormatException { EsriGraphic eg = null ; int shapeType = iStream . readLEInt ( ) ; byteTracker . addRead ( 4 ) ; if ( verbose ) { logger . info ( "reading shape type: " + shapeType + ", " + ShapeUtils . getStringForType ( shapeType ) ) ; } switch ( shapeType ) { case SHAPE_TYPE_NULL : break ; case SHAPE_TYPE_POINT : eg = createPointGraphic ( iStream , pointRepresentation , drawingAttributes , byteTracker ) ; break ; case SHAPE_TYPE_POLYLINE : eg = createPolylineGraphic ( iStream , drawingAttributes , byteTracker ) ; break ; case SHAPE_TYPE_POLYGON : eg = createPolygonGraphic ( iStream , drawingAttributes , byteTracker ) ; break ; case SHAPE_TYPE_MULTIPOINT : eg = createMultiPointGraphic ( iStream , pointRepresentation , drawingAttributes , byteTracker ) ; break ; case SHAPE_TYPE_POINTZ : eg = createPointZGraphic ( iStream , pointRepresentation , drawingAttributes , byteTracker ) ; break ; case SHAPE_TYPE_POLYLINEZ : eg = createPolylineZGraphic ( iStream , drawingAttributes , byteTracker ) ; break ; case SHAPE_TYPE_POLYGONZ : eg = createPolygonZGraphic ( iStream , drawingAttributes , byteTracker ) ; break ; case SHAPE_TYPE_MULTIPOINTZ : eg = createMultiPointZGraphic ( iStream , pointRepresentation , drawingAttributes , byteTracker ) ; break ; case SHAPE_TYPE_POINTM : eg = createPointMGraphic ( iStream , pointRepresentation , drawingAttributes , byteTracker ) ; break ; case SHAPE_TYPE_POLYLINEM : eg = createPolylineMGraphic ( iStream , drawingAttributes , byteTracker ) ; break ; case SHAPE_TYPE_POLYGONM : eg = createPolygonMGraphic ( iStream , drawingAttributes , byteTracker ) ; break ; case SHAPE_TYPE_MULTIPOINTM : eg = createMultiPointMGraphic ( iStream , pointRepresentation , drawingAttributes , byteTracker ) ; break ; case SHAPE_TYPE_MULTIPATCH : default : } return ( OMGraphic ) eg ; }
create omgraphic from next record
