ContainableFrame extends JFrame { @VisibleForTesting static boolean jdk8231564(String javaVersion) { int idx = javaVersion.indexOf('_'); if (idx != -1) { javaVersion = javaVersion.substring(0, idx); } String[] s = javaVersion.split("\\."); int major = Integer.parseInt(s[0]), minor = Integer.parseInt(s[1]), patch = Integer.parseInt(s[2]); if (major == 12 || major == 13 || major == 14) { return false; } return major > 11 || (major == 11 && minor > 0) || (major == 11 && minor == 0 && patch >= 8); }  void setContainedInScreen(Mode value); @Override void setLocation(int x, int y); @Override void setBounds(int x, int y, int width, int height); void expandBy(final int value); void contractBy(final int value); @Override void setMaximizedBounds(Rectangle bounds); void revalidateMinimumSize();  }
@Test public void testJdk8231564() { assertTrue(ContainableFrame.jdk8231564("11.0.8")); assertFalse(ContainableFrame.jdk8231564("11.0.7")); assertFalse(ContainableFrame.jdk8231564("1.8.0_261")); assertFalse(ContainableFrame.jdk8231564("12.0.0")); assertFalse(ContainableFrame.jdk8231564("13.0.0")); assertFalse(ContainableFrame.jdk8231564("14.0.0")); }