@Override
 public void logPageWithParams(Context context, String name, Map<Object, Object> parameters) {
   s.pageName = name;
   Hashtable<String, String> mergedParameters = mergeParameters(parameters);
   if (mergedParameters != null) {
     s.track(mergedParameters);
   } else {
     s.track();
   }
 }
 @Override
 public void setCampaign(String campaign) {
   s.campaign = campaign;
   if (delegate != null) {
     delegate.campaignWasSet(this, campaign);
   }
 }
 @Override
 public void setZip(String zip) {
   s.zip = zip;
   if (delegate != null) {
     delegate.zipWasSet(this, zip);
   }
 }
 @Override
 public void setState(String state) {
   s.state = state;
   if (delegate != null) {
     delegate.stateWasSet(this, state);
   }
 }
 @Override
 public void setIdentifier(String identifier) {
   s.visitorID = identifier;
   if (delegate != null) {
     delegate.identifierWasSet(this, identifier);
   }
 }
 @Override
 public void setChannel(String channel) {
   s.channel = channel;
   if (delegate != null) {
     delegate.channelWasSet(this, channel);
   }
 }
 public void setCurrency(String currency) {
   s.currencyCode = currency;
 }
 public void setDebug(boolean debug) {
   s.debugTracking = debug;
 }
 public LolayOmnitureTracker(Application application, String trackingServer, String account) {
   s = new AppMeasurement(application);
   s.trackingServer = trackingServer;
   s.account = account;
 }
 @Override
 public void logException(Context context, String errorId, String message, Throwable throwable) {
   s.pageName = "Exception";
   s.track();
 }
 @Override
 public void logException(Context context, Throwable throwable) {
   s.pageName = "Exception";
   s.track();
 }
 @Override
 public void logPage(Context context, String name) {
   s.pageName = name;
   s.track();
 }