import org.checkerframework.checker.nullness.qual.Nullable;
import org.checkerframework.checker.regex.qual.*;
import org.checkerframework.common.value.qual.*;
import org.checkerframework.dataflow.qual.Pure;

package mypackage;

class MyClass {
   static @ArrayLen(1) @Regex(1) String toString(char c);
   void method1(Object[] param);
   void method2(Object[][] param);
   void method3(Object[][][] param);
   void method4(Object[][][][] param);
}
