processor/src/main/java/com/hannesdorfmann/parcelableplease/processor/util/TypeUtils.java
public static String getBinaryName(Elements elementUtils, TypeElement type) throws IOException {
    String packageName = getPackageName(elementUtils, type);
    String qualifiedName = type.getQualifiedName().toString();
    if (packageName.length() > 0) {
      return packageName + '.' + qualifiedName.substring(packageName.length() + 1).replace('.', '$');
    } else {
      return qualifiedName.replace('.', '$');
    }
  }
public static String getBinaryName(Elements elementUtils, TypeElement type) throws IOException {
    String packageName = getPackageName(elementUtils, type);
    String qualifiedName = type.getQualifiedName().toString();
    if (packageName.length() > 0) {
      return packageName + '.' + qualifiedName.substring(packageName.length() + 1).replace('.', '$');
    } else {
      return qualifiedName.replace('.', '$');
    }
  }
Get the qualified name of a class. Also respects innner classes

@param elementUtils Elements
@param type TypeElement
@return The qualified name of the class represented by the passed type element
@throws IOException