public static String generateRandomId() {
        final Random random = new Random();
        final StringBuilder sb = new StringBuilder(GEOCODE_LENGTH);
        for (int i = 0; i < GEOCODE_LENGTH; i++) {
            sb.append(GEOCODE_CHARS.charAt(random.nextInt(GEOCODE_CHARS.length())));
        }
        return sb.toString();
    }
creates a new cache for the internal connector

@param context       context in which this function gets called
@param name          cache's name (or null for default name)
@param description   cache's description (or null for default description)
@param assignedEmoji cache's assigned emoji (or 0 for default cache type icon)
@param geopoint      cache's current location (or null if none)
@param listId        cache list's id
@return geocode      geocode of the newly created cache
main/src/main/java/cgeo/geocaching/connector/internal/InternalConnector.java