AI-generated Key Takeaways
- 
          The Distance interface represents the distance to a Message and implements Comparable. 
- 
          It includes a nested class Distance.Accuracy for possible values of distance estimate accuracy. 
- 
          A static final field UNKNOWN represents an unknown distance with low accuracy and NaN meters. 
- 
          Public methods include compareTo for comparing distances by meters, getAccuracy to get the distance estimate accuracy, and getMeters to get the distance estimate in meters. 
Represents the distance to a Message.
Nested Class Summary
| @interface | Distance.Accuracy | Possible values for the accuracy of a distance estimate. | |
Field Summary
| public static final Distance | UNKNOWN | Represents an unknown distance, with accuracy = 
              Distance.Accuracy.LOW, and meters =Double.NaN. | 
Public Method Summary
| abstract int | |
| abstract int | 
                  
                  getAccuracy()
                   
                    The accuracy of the distance estimate.
                   | 
| abstract double | 
                  
                  getMeters()
                   
                    The distance estimate, in meters.
                   | 
Inherited Method Summary
Fields
public static final Distance UNKNOWN
Represents an unknown distance, with accuracy = Distance.Accuracy.LOW,
            and meters = Double.NaN.
Public Methods
public abstract int compareTo (Distance other)
Note: This compares only getMeters(),
            not accuracy. We also consider NaN == NaN, so that UNKNOWN.equals(UNKNOWN).
public abstract int getAccuracy ()
The accuracy of the distance estimate.
public abstract double getMeters ()
The distance estimate, in meters.