I am trying to create some classes that implement a particular interface (in this case, `XYPlottable`) and a method that can handle any class implementing that interface.

So far I have the following (that works):

```
public interface XYPlottable {
    public Number getXCoordinate();
    public Number getYCoordinate();
    public Number getCoordinate(String fieldName);
}

public class A implements XYPlottable {
//Implements the above interface properly
...
}

public class B implements XYPlottable {
//Implements the above interface properly
...
}

```

This works fine. I also have a method to try and plot anything that's XYPlottable:

```
public static Frame createPlot(String title, String xAxisLabel, String yAxisLabel,
                               List<XYPlottable> points, boolean fitLine) {

```

So I attempt to go use it with one of the above concrete classes and it complains about having incompatible types:

```
List<A> values = _controller.getValues(tripName);
XYPlotter.createPlot("Plot A", "B", "C", values, false);

```

Here's the exact error:

```
incompatible types
  required: java.util.List<XYPlottable>
  found:    java.util.List<A>

```

I hoping I'm just having a moment and missing something really obvious, but maybe I'm having a misunderstanding of how I should be using interfaces.