TypeSimplifier(Types typeUtils,String packageName,Set<TypeMirror> types,TypeMirror base){
  this.typeUtils=typeUtils;
  Set<TypeMirror> typesPlusBase=new TypeMirrorSet(types);
  if (base != null) {
    typesPlusBase.add(base);
  }
  Set<TypeMirror> referenced=referencedClassTypes(typeUtils,typesPlusBase);
  Set<TypeMirror> defined=nonPrivateDeclaredTypes(typeUtils,base);
  this.imports=findImports(typeUtils,packageName,referenced,defined);
}

TypeSimplifier ( Types typeUtils , String packageName , Set < TypeMirror > types , TypeMirror base ) { this . typeUtils = typeUtils ; Set < TypeMirror > typesPlusBase = new TypeMirrorSet ( types ) ; if ( base != null ) { typesPlusBase . add ( base ) ; } Set < TypeMirror > referenced = referencedClassTypes ( typeUtils , typesPlusBase ) ; Set < TypeMirror > defined = nonPrivateDeclaredTypes ( typeUtils , base ) ; this . imports = findImports ( typeUtils , packageName , referenced , defined ) ; }
makes a new simplifier for the given package and set of types .
