code: public static synchronized void initializeDXF_SCHEMA( CoordinateReferenceSystem crs ) {
          if (DXF_POINTSCHEMA != null && DXF_POINTSCHEMA.getAttributeCount() != 0)
              return;
  
          SimpleFeatureTypeBuilder b = new SimpleFeatureTypeBuilder();
          b.setName("dxfpointfile");
          b.setCRS(crs);
          b.add("the_geom", Point.class);
          b.add("LAYER", String.class);
          b.add("LTYPE", String.class);
          b.add("ELEVATION", Double.class);
          b.add("THICKNESS", Double.class);
          b.add("COLOR", Integer.class);
          b.add("TEXT", String.class);
          b.add("TEXT_HEIGHT", Double.class);
          b.add("TEXT_STYLE", String.class);
          DXF_POINTSCHEMA = b.buildFeatureType();
  
          b = new SimpleFeatureTypeBuilder();
          b.setName("dxflinefile");
          b.setCRS(crs);
          b.add("the_geom", LineString.class);
          b.add("LAYER", String.class);
          b.add("LTYPE", String.class);
          b.add("ELEVATION", Double.class);
          b.add("THICKNESS", Double.class);
          b.add("COLOR", Integer.class);
          b.add("TEXT", String.class);
          b.add("TEXT_HEIGHT", Double.class);
          b.add("TEXT_STYLE", String.class);
          DXF_LINESCHEMA = b.buildFeatureType();
  
          b = new SimpleFeatureTypeBuilder();
          b.setName("dxfpolygonfile");
          b.setCRS(crs);
          b.add("the_geom", Polygon.class);
          b.add("LAYER", String.class);
          b.add("LTYPE", String.class);
          b.add("ELEVATION", Double.class);
          b.add("THICKNESS", Double.class);
          b.add("COLOR", Integer.class);
          b.add("TEXT", String.class);
          b.add("TEXT_HEIGHT", Double.class);
          b.add("TEXT_STYLE", String.class);
          DXF_POLYGONSCHEMA = b.buildFeatureType();
  
      }
docs: Initialize a JUMP FeatureSchema to load dxf data keeping some graphic
  attributes.