@Test
 public void testExecutable() throws Exception {
   assertThat(JavaType.EXECUTABLE.getTypeStub().getName(), is("java.lang.reflect.Executable"));
   assertThat(
       JavaType.EXECUTABLE.getTypeStub().getModifiers(),
       is(Opcodes.ACC_PUBLIC | Opcodes.ACC_ABSTRACT));
   assertThat(
       JavaType.EXECUTABLE.getTypeStub().getSuperClass(),
       is((TypeDefinition) new TypeDescription.ForLoadedType(AccessibleObject.class)));
   assertThat(JavaType.EXECUTABLE.getTypeStub().getInterfaces().size(), is(2));
   assertThat(
       JavaType.EXECUTABLE
           .getTypeStub()
           .getInterfaces()
           .contains(new TypeDescription.Generic.OfNonGenericType.ForLoadedType(Member.class)),
       is(true));
   assertThat(
       JavaType.EXECUTABLE
           .getTypeStub()
           .getInterfaces()
           .contains(
               new TypeDescription.Generic.OfNonGenericType.ForLoadedType(
                   GenericDeclaration.class)),
       is(true));
 }
 @Test
 @JavaVersionRule.Enforce(8)
 public void testJava8Types() throws Exception {
   assertThat(JavaType.EXECUTABLE.load(), notNullValue(Class.class));
 }