@Test
  public void testCreationOfExecutablePath() throws Exception {
    Method executable = Container.class.getMethod("addItem", Key.class, Item.class);

    BeanMetaDataManager beanMetaDataManager =
        new BeanMetaDataManager(
            new ConstraintHelper(),
            new ExecutableHelper(new TypeResolutionHelper()),
            new ExecutableParameterNameProvider(new DefaultParameterNameProvider()),
            Collections.<MetaDataProvider>emptyList());

    ExecutableMetaData executableMetaData =
        beanMetaDataManager.getBeanMetaData(Container.class).getMetaDataFor(executable);

    PathImpl methodParameterPath = PathImpl.createPathForExecutable(executableMetaData);

    assertEquals(methodParameterPath.toString(), "addItem");
  }
 @Test(expectedExceptions = IllegalArgumentException.class)
 public void testCreationOfExecutablePathFailsDueToMissingExecutable() throws Exception {
   PathImpl.createPathForExecutable(null);
 }