class FootprintGeometryBuilder implements GeometryBuilder {

    @Override
    public Pair<List<Geometry>, List<Geometry>> buildGeometries(PlatformMetadata model, DataTypeInfo uavDataType,
            DataTypeInfo videoLayer)
    {
        PolygonGeometry.Builder<GeographicPosition> builder = new PolygonGeometry.Builder<>();

        builder.setVertices(model.getFootprint().getVertices());

        OrderParticipantKey orderKey = uavDataType.getOrderKey();
        int zorder = myOrderManager.getOrderManager(orderKey).getOrder(orderKey);

        Constraints constraints = new MutableConstraints(
                TimeConstraint.getMostRecentTimeConstraint(uavDataType.getTypeKey(), model.getTime().getTime()));
        PolygonRenderProperties renderProperties = new DefaultPolygonRenderProperties(zorder, true, true);
        renderProperties.setColor(uavDataType.getBasicVisualizationInfo().getTypeColor());
        renderProperties.setHidden(!uavDataType.isVisible());
        setOpacity(renderProperties, uavDataType.getBasicVisualizationInfo().getTypeOpacity());

        return new Pair<>(New.list(new PolygonGeometry(builder, renderProperties, constraints)), New.list());
    }

    public  FootprintGeometryBuilder(OrderManagerRegistry orderRegistry);

}