public static String getClassSignature(TypeToken<?> interfaceType) {
SignatureWriter signWriter = new SignatureWriter();
SignatureVisitor sv = signWriter.visitSuperclass();
sv.visitClassType(Type.getInternalName(Object.class));
sv.visitEnd();
SignatureVisitor interfaceVisitor = sv.visitInterface();
interfaceVisitor.visitClassType(Type.getInternalName(interfaceType.getRawType()));
if (interfaceType.getType() instanceof ParameterizedType) {