@Override
    protected boolean execute(
            CtClass inputClass,
            String inputClassName,
            FieldAccess fieldAccess)
            throws CannotCompileException, NotFoundException {

        String insnClassName = fieldAccess.getClassName();
        String insnSignature = fieldAccess.getSignature();
        String insnFieldName = fieldAccess.getFieldName();

        if (!isMatchFieldSource(insnClassName, insnSignature, insnFieldName)
                || !meetConditions(fieldAccess)) {
            return false;
        }

        String before = getTargetBefore();
        String after = getTargetAfter();

        String proceed = fieldAccess.isWriter() ? "$proceed($$);" : "$_=$proceed($$);";
        String statement = "{" + before + proceed + after + "}";
        String replacement = replaceInstrument(inputClassName, fieldAccess, statement);

        Logger.warning(getPrettyName() + " by: " + replacement
                + " at " + inputClassName + ".java" + ":" + fieldAccess.getLineNumber());
        return true;
    }
Transform that adds code before and after the field access simultaneously.
plugin/src/main/groovy/com/didichuxing/tools/droidassist/transform/around/FieldAccessAroundTransformer.java