// Path: src/main/java/com/poolik/classfinder/ClassFinderException.java
// public class ClassFinderException extends RuntimeException {
// 
//   public ClassFinderException(String message) {
//     super(message);
//   }
// 
//   public ClassFinderException(String message, Throwable exception) {
//     super(message, exception);
//   }
// }
// 
// Path: src/main/java/com/poolik/classfinder/EmptyVisitor.java
// public class EmptyVisitor extends ClassVisitor {
// 
//   public EmptyVisitor() {
//     super(Opcodes.ASM4);
//   }
// 
//   @Override
//   public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
//     return null;
//   }
// }


import com.poolik.classfinder.ClassFinderException;
import com.poolik.classfinder.EmptyVisitor;
import org.objectweb.asm.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Modifier;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
        value));
    return null;
  }

  /**
   * "Visit" a method.
   *
   * @param access      field access modifiers, etc.
   * @param name        field name
   * @param description field description
   * @param signature   field signature
   * @param exceptions  list of exception names the method throws
   * @return null.
   */
  @Override
  public MethodVisitor visitMethod(int access,
                                   String name,
                                   String description,
                                   String signature,
                                   String[] exceptions) {
    methods.add(new MethodInfo(access,
        name,
        description,
        signature,
        exceptions));
    return null;
  }

  @Override
  public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
// Path: src/main/java/com/poolik/classfinder/ClassFinderException.java
// public class ClassFinderException extends RuntimeException {
// 
//   public ClassFinderException(String message) {
//     super(message);
//   }
// 
//   public ClassFinderException(String message, Throwable exception) {
//     super(message, exception);
//   }
// }
// 
// Path: src/main/java/com/poolik/classfinder/EmptyVisitor.java
// public class EmptyVisitor extends ClassVisitor {
// 
//   public EmptyVisitor() {
//     super(Opcodes.ASM4);
//   }
// 
//   @Override
//   public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
//     return null;
//   }
// }


// Path: src/main/java/com/poolik/classfinder/info/ClassInfo.java
import com.poolik.classfinder.ClassFinderException;
import com.poolik.classfinder.EmptyVisitor;
import org.objectweb.asm.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Modifier;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;

        value));
    return null;
  }

  /**
   * "Visit" a method.
   *
   * @param access      field access modifiers, etc.
   * @param name        field name
   * @param description field description
   * @param signature   field signature
   * @param exceptions  list of exception names the method throws
   * @return null.
   */
  @Override
  public MethodVisitor visitMethod(int access,
                                   String name,
                                   String description,
                                   String signature,
                                   String[] exceptions) {
    methods.add(new MethodInfo(access,
        name,
        description,
        signature,
        exceptions));
    return null;
  }

  @Override
  public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
    annotations.add(new AnnotationInfo(desc, visible));