code: public Object createInstance(final InterceptorFactoryContext context) {
          final Map<Object,Object> map = context.getContextData();
          final Class<?> instanceClass = this.instanceClass;
          if (map.containsKey(instanceClass)) {
              return map.get(instanceClass);
          }
          final Object instance;
          try {
              instance = instanceClass.newInstance();
          } catch (InstantiationException e) {
              final InstantiationError error = new InstantiationError(e.getMessage());
              error.setStackTrace(e.getStackTrace());
              throw error;
          } catch (IllegalAccessException e) {
              final IllegalAccessError error = new IllegalAccessError(e.getMessage());
              error.setStackTrace(e.getStackTrace());
              throw error;
          }
          map.put(instanceClass, instance);
          return instance;
      }
docs: {@inheritDoc}