<NME> UnknownTrackableConnector.java
<BEF> package cgeo.geocaching.connector.trackable;

import cgeo.geocaching.Trackable;

import org.apache.commons.lang3.StringUtils;

public class UnknownTrackableConnector extends AbstractTrackableConnector {

import java.util.Collections;
import java.util.List;

    }

    @Override
    public String getUrl(Trackable trackable) {
        return StringUtils.EMPTY;
    }

    @Override
    public String getServiceTitle() {
        throw new IllegalStateException("this connector does not have a corresponding name.");
    }

    @Override
    public boolean hasTrackableUrls() {
        return false;
    }

    @Override
    @Nullable
    public Trackable searchTrackable(final String geocode, final String guid, final String id) {
        return null;
    }

    @Override
    @NonNull
    public TrackableBrand getBrand() {
        return TrackableBrand.UNKNOWN;
    }

    @Override
    @NonNull
    public List<UserAction> getUserActions(final UserAction.UAContext user) {
        return Collections.emptyList();
    }

    @Override
    @NonNull
    public String getHost() {
        throw new IllegalStateException("Unknown trackable connector does not have a host.");
    }

    @Override
    @NonNull
    public String getHostUrl() {
        throw new IllegalStateException("Unknown trackable connector does not have a host url.");
    }
}

<MSG> URL for geocache / waypoint / trackable cannot be null

<DFF> @@ -2,7 +2,7 @@ package cgeo.geocaching.connector.trackable;
 
 import cgeo.geocaching.Trackable;
 
-import org.apache.commons.lang3.StringUtils;
+import org.eclipse.jdt.annotation.NonNull;
 
 public class UnknownTrackableConnector extends AbstractTrackableConnector {
 
@@ -12,8 +12,9 @@ public class UnknownTrackableConnector extends AbstractTrackableConnector {
     }
 
     @Override
+    @NonNull
     public String getUrl(Trackable trackable) {
-        return StringUtils.EMPTY;
+        throw new IllegalAccessError("getUrl cannot be called on unknown trackables");
     }
 
     @Override

URL for geocache / waypoint / trackable cannot be null