// Path: common/src/main/java/org/openshift/ping/common/compatibility/CompatibilityUtils.java
// public class CompatibilityUtils {
// 
//    private CompatibilityUtils() {
//    }
// 
//    /**
//     * @return <code>true</code> when JGroups 4 is on the classpath. <code>false</code> otherwise.
//     */
//    public static boolean isJGroups4() {
//       final short[] decodedVersion = Version.decode(Version.version);
//       return decodedVersion[0] == 4;
//    }
// }
// 
// Path: common/src/main/java/org/openshift/ping/common/server/ServerFactory.java
// public interface ServerFactory {
//     public boolean isAvailable();
//     public Server getServer(int port);
// }


import org.jgroups.stack.IpAddress;
import org.jgroups.stack.Protocol;
import org.openshift.ping.common.compatibility.CompatibilityException;
import org.openshift.ping.common.compatibility.CompatibilityUtils;
import org.openshift.ping.common.server.ServerFactory;
import static org.openshift.ping.common.Utils.getSystemEnvInt;
import static org.openshift.ping.common.Utils.trimToNull;
import java.io.InputStream;
import java.lang.reflect.Method;
import java.net.InetSocketAddress;
import java.util.Collections;
import java.util.List;
import org.jgroups.Event;
import org.jgroups.Message;
import org.jgroups.PhysicalAddress;
import org.jgroups.annotations.Property;
import org.jgroups.protocols.PING;
        String suffix = trimToNull(systemEnvSuffix);
        if (suffix != null) {
            if (_systemEnvPrefix != null) {
                sb.append(_systemEnvPrefix);
            }
            sb.append(suffix);
        }
        return sb.length() > 0 ? sb.toString() : null;
    }

    protected final int getConnectTimeout() {
        return _connectTimeout;
    }

    protected final int getReadTimeout() {
        return _readTimeout;
    }

    protected final int getOperationAttempts() {
        return _operationAttempts;
    }

    protected final long getOperationSleep() {
        return _operationSleep;
    }

    protected abstract boolean isClusteringEnabled();

    protected abstract int getServerPort();

// Path: common/src/main/java/org/openshift/ping/common/compatibility/CompatibilityUtils.java
// public class CompatibilityUtils {
// 
//    private CompatibilityUtils() {
//    }
// 
//    /**
//     * @return <code>true</code> when JGroups 4 is on the classpath. <code>false</code> otherwise.
//     */
//    public static boolean isJGroups4() {
//       final short[] decodedVersion = Version.decode(Version.version);
//       return decodedVersion[0] == 4;
//    }
// }
// 
// Path: common/src/main/java/org/openshift/ping/common/server/ServerFactory.java
// public interface ServerFactory {
//     public boolean isAvailable();
//     public Server getServer(int port);
// }


// Path: common/src/main/java/org/openshift/ping/common/OpenshiftPing.java
import org.jgroups.stack.IpAddress;
import org.jgroups.stack.Protocol;
import org.openshift.ping.common.compatibility.CompatibilityException;
import org.openshift.ping.common.compatibility.CompatibilityUtils;
import org.openshift.ping.common.server.ServerFactory;
import static org.openshift.ping.common.Utils.getSystemEnvInt;
import static org.openshift.ping.common.Utils.trimToNull;
import java.io.InputStream;
import java.lang.reflect.Method;
import java.net.InetSocketAddress;
import java.util.Collections;
import java.util.List;
import org.jgroups.Event;
import org.jgroups.Message;
import org.jgroups.PhysicalAddress;
import org.jgroups.annotations.Property;
import org.jgroups.protocols.PING;

        String suffix = trimToNull(systemEnvSuffix);
        if (suffix != null) {
            if (_systemEnvPrefix != null) {
                sb.append(_systemEnvPrefix);
            }
            sb.append(suffix);
        }
        return sb.length() > 0 ? sb.toString() : null;
    }

    protected final int getConnectTimeout() {
        return _connectTimeout;
    }

    protected final int getReadTimeout() {
        return _readTimeout;
    }

    protected final int getOperationAttempts() {
        return _operationAttempts;
    }

    protected final long getOperationSleep() {
        return _operationSleep;
    }

    protected abstract boolean isClusteringEnabled();

    protected abstract int getServerPort();

    public final void setServerFactory(ServerFactory serverFactory) {