package mypackage;

public class MyClass {
  static String toString(char c) {
    return c + "";
  }

  void method1(Object[] param) {}

  void method2(Object[][] param) {}

  void method3(Object[][][] param) {}

  void method4(Object[][][][] param) {}
}
