How to "get type string[] of an argument to match the vararg parameter type"?

Hi! Me and my brother are having trouble with an error in our processing code. we've been trying to fix it for a long time but no success, here's the code:

1. import processing.serial.*;
2. Serial myPort;
3. PImage logo;
4. int bgcolor = 0;
5. void setup() {
6. colorMode(HSB, 255);
7. logo = loadImage("http://arduino.cc/logo.png");
8. size(logo.width, logo.height);
9. println("Available serial ports:");
10. println(Serial.list());
11. myPort = new Serial(this, Serial.list()[0], 9600);
12. }
13. void draw() {
14. if (myPort.available() > 0) {
15. bgcolor = myPort.read();
16. println(bgcolor);
17. }
18. background(bgcolor, 255, 255);
19. image(logo, 0, 0);
20. }

Line 10 is underlined in yellow with the error:

"Type String[] of the last argument to method(object) doesn't exactly match the vararg parameter type. Cast to Object[] to confirm the non-varargs invocation, or pass individual arguments of type object for a varargs invocation."

We've done it exactly as it says in the book and yet it gave that error. Can somebody please tell us what's wrong and how to fix it? Our Arduino IDE version is 1.6.9 and our processing version is 3.11 .

p.s.s: i numbered the lines myself for reference purposes.

Tripontium: "Type String[] of the last argument to method(object) doesn't exactly match the vararg parameter type. Cast to Object[] to confirm the non-varargs invocation, or pass individual arguments of type object for a varargs invocation."

I think it wants you to say:

10. println((Object[])Serial.list());

It's not sure you meant to print the list.

It Worked thanks. Yes we wanted to print it.