object Test {
  def f1(clazz: Class[_]) = (
    clazz.getDeclaredFields.toList 
     . filterNot (_.getName contains "bitmap$")
     . map (f => (f.getName, f.getGenericType))
     . foreach (println)
  )
  def f2(clazz: Class[_]) = (
    clazz.getDeclaredMethods.toList 
     . filterNot (_.getName contains "bitmap$")
     . map (f => (f.getName, f.getGenericReturnType))
     . foreach (println)
  )

  def main(args: Array[String]): Unit = {
    f1(classOf[One])
    f2(classOf[One])
    f1(classOf[Two])
    f2(classOf[Two])
    
    new J_2().javaRun
  }
}
