private Interceptor getAcceptor() {
if (acceptor == null) {
try {
Constructor<?> constructor = type.getDeclaredConstructors()[0];
int argsLength = constructor.getParameterTypes().length;
acceptor = type.cast(new Mirror().on(type).invoke().constructor(constructor).withArgs(new Object[argsLength]));
} catch (MirrorException e) {
if (e.getCause() instanceof NullPointerException) {
throw new InterceptionException("StaticInterceptors should not use constructor parameters inside the constructor", e);
} else {
throw new InterceptionException(e);