void processGeometry(RsWall wall) throws RsParsingException {

      double [] a = processRealSpec();
      if(a==null || a.length!=5)
         throw reader.gripe("Invalid number of parameters in geometry specification");

      RsUnits  units=wall.plan.getUnits();
      for(int i=0; i<5; i++)
         a[i] = units.userToInternal(a[i]);

      double x0, y0, x1, y1, thickness;

      x0=a[0];
      y0=a[1];
      x1=a[2];
      y1=a[3];
      thickness=a[4];

      RsSegment segment = new RsSegment(x0, y0, x1, y1);

      if(segment.m<=RsVector.NEARLY_ZERO)
         return;

      if(thickness<=RsVector.NEARLY_ZERO){
         throw reader.gripe("Invalid thickness specification for wall");
      }

      double [] p = new double[8];

      RsVector n = (new RsVector(segment.v)).normal();
      n.scale(thickness/2.0/segment.m);

      p[0] =  x0-n.x;
      p[1] =  y0-n.y;
      p[2] =  x1-n.x;
      p[3] =  y1-n.y;
      p[4] =  x1+n.x;
      p[5] =  y1+n.y;
      p[6] =  x0+n.x;
      p[7] =  y0+n.y;

      wall.setGeometry(p);

   }