analyze method that avoids making changes