code: protected String getFullQualifiedTypeSignature(final TypeMirror type) {
  
          final StringBuffer typeSignature = new StringBuffer();
  
          if (type instanceof DeclaredType) {
              final DeclaredType declaredType = (DeclaredType) type;
              typeSignature.append(getFullQualifiedClassName(type));
  
              final List<? extends TypeMirror> typeArguments = declaredType.getTypeArguments();
              if (!typeArguments.isEmpty()) {
                  typeSignature.append("<");
                  for (final ListIterator<? extends TypeMirror> it = typeArguments.listIterator(); it.hasNext(); ) {
                      typeSignature.append(getFullQualifiedTypeSignature((TypeMirror) it.next()));
                      if (it.hasNext()) {
                          typeSignature.append(",");
                      }
                  }
                  typeSignature.append(">");
              }
          } else {
              typeSignature.append(getFullQualifiedClassName(type));
          }
  
          return typeSignature.toString();
      }
docs: Ermittelt die vollständige Typ Signatur - rekursiv!!!
  
  @param type TypeMirror des zu bestimmenden Datentypen
  @return String Signatur des zu bestimmenden Datentypen