class MessageBase implements Message<T, R> {

    @NonNull
    protected static String logParam(Object parameter, int level) {
        if (level == SecureParameter.LEVEL_NO_INFO) {
            return "<value>";
        }

        if (parameter == null) {
            return "null";
        }

        if (parameter instanceof CharSequence) {
            if (TextUtils.isEmpty((CharSequence) parameter)) {
                return "''";
            }

            if (level == SecureParameter.LEVEL_NULL_OR_EMPTY_STRING) {
                return "<not empty string>";
            }

            return "'" + parameter + "'";
        }

        if (level != SecureParameter.LEVEL_FULL_INFO) {
            return "<not null value>";
        }

        return String.valueOf(parameter);
    }

    protected  MessageBase(@NonNull ActorInvokeException exception);

}