// Path: core/src/main/java/com/comcast/viper/flume2storm/F2SConfigurationException.java
// @SuppressWarnings("javadoc")
// public class F2SConfigurationException extends Exception {
//   private static final long serialVersionUID = 4941423443352427505L;
// 
//   /**
//    * @param config
//    *          The configuration that contains the invalid parameter
//    * @param parameter
//    *          The name of the configuration parameter that is invalid
//    * @param throwable
//    *          The exception that occurred when setting the parameter's value
//    * @return The newly built F2SConfigurationException related to a specific
//    *         invalid parameter
//    */
//   public static F2SConfigurationException with(Configuration config, String parameter, Throwable throwable) {
//     return F2SConfigurationException.with(parameter, config.getProperty(parameter), throwable);
//   }
// 
//   /**
//    * @param parameter
//    *          The name of the configuration parameter that is invalid
//    * @param value
//    *          The configured value of the parameter
//    * @param throwable
//    *          The exception that occurred when setting the parameter's value
//    * @return The newly built F2SConfigurationException related to a specific
//    *         invalid parameter
//    */
//   public static F2SConfigurationException with(String parameter, Object value, Throwable throwable) {
//     return new F2SConfigurationException(buildErrorMessage(parameter, value, throwable), throwable);
//   }
// 
//   protected static final String buildErrorMessage(String parameter, Object value, Throwable throwable) {
//     return new StringBuilder("Configuration attribute \"").append(parameter).append("\" has invalid value (\"")
//         .append(value).append("\"). ").append(throwable.getClass().getSimpleName()).append(": ")
//         .append(throwable.getLocalizedMessage()).toString();
//   }
// 
//   /**
//    * @param parameter
//    *          The name of the configuration parameter that is missing
//    * @return The newly built F2SConfigurationException related to a specific
//    *         missing parameter
//    */
//   public static F2SConfigurationException missing(String parameter) {
//     return new F2SConfigurationException(new StringBuilder("Configuration attribute \"").append(parameter)
//         .append("\" is required but not specified").toString());
//   }
// 
//   public F2SConfigurationException() {
//     super();
//   }
// 
//   public F2SConfigurationException(String message) {
//     super(message);
//   }
// 
//   public F2SConfigurationException(Throwable throwable) {
//     super(throwable);
//   }
// 
//   public F2SConfigurationException(String message, Throwable throwable) {
//     super(message, throwable);
//   }
// }


import org.apache.commons.configuration.Configuration;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.comcast.viper.flume2storm.F2SConfigurationException;
      throw new IllegalArgumentException("...");
    this.port = port;
    return this;
  }

  /**
   * @return The connection string (for identification purpose)
   */
  public String getConnectionStr() {
    return address + ":" + port;
  }

  /**
   * @see java.lang.Object#hashCode()
   */
  @Override
  public int hashCode() {
    return new HashCodeBuilder().append(address).append(port).hashCode();
  }

  /**
   * @see java.lang.Object#equals(java.lang.Object)
   */
  @Override
  public boolean equals(Object obj) {
    if (this == obj)
      return true;
    if (obj == null)
      return false;
    if (getClass() != obj.getClass())
// Path: core/src/main/java/com/comcast/viper/flume2storm/F2SConfigurationException.java
// @SuppressWarnings("javadoc")
// public class F2SConfigurationException extends Exception {
//   private static final long serialVersionUID = 4941423443352427505L;
// 
//   /**
//    * @param config
//    *          The configuration that contains the invalid parameter
//    * @param parameter
//    *          The name of the configuration parameter that is invalid
//    * @param throwable
//    *          The exception that occurred when setting the parameter's value
//    * @return The newly built F2SConfigurationException related to a specific
//    *         invalid parameter
//    */
//   public static F2SConfigurationException with(Configuration config, String parameter, Throwable throwable) {
//     return F2SConfigurationException.with(parameter, config.getProperty(parameter), throwable);
//   }
// 
//   /**
//    * @param parameter
//    *          The name of the configuration parameter that is invalid
//    * @param value
//    *          The configured value of the parameter
//    * @param throwable
//    *          The exception that occurred when setting the parameter's value
//    * @return The newly built F2SConfigurationException related to a specific
//    *         invalid parameter
//    */
//   public static F2SConfigurationException with(String parameter, Object value, Throwable throwable) {
//     return new F2SConfigurationException(buildErrorMessage(parameter, value, throwable), throwable);
//   }
// 
//   protected static final String buildErrorMessage(String parameter, Object value, Throwable throwable) {
//     return new StringBuilder("Configuration attribute \"").append(parameter).append("\" has invalid value (\"")
//         .append(value).append("\"). ").append(throwable.getClass().getSimpleName()).append(": ")
//         .append(throwable.getLocalizedMessage()).toString();
//   }
// 
//   /**
//    * @param parameter
//    *          The name of the configuration parameter that is missing
//    * @return The newly built F2SConfigurationException related to a specific
//    *         missing parameter
//    */
//   public static F2SConfigurationException missing(String parameter) {
//     return new F2SConfigurationException(new StringBuilder("Configuration attribute \"").append(parameter)
//         .append("\" is required but not specified").toString());
//   }
// 
//   public F2SConfigurationException() {
//     super();
//   }
// 
//   public F2SConfigurationException(String message) {
//     super(message);
//   }
// 
//   public F2SConfigurationException(Throwable throwable) {
//     super(throwable);
//   }
// 
//   public F2SConfigurationException(String message, Throwable throwable) {
//     super(message, throwable);
//   }
// }


// Path: test-impl/src/main/java/com/comcast/viper/flume2storm/connection/parameters/SimpleConnectionParameters.java
import org.apache.commons.configuration.Configuration;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.comcast.viper.flume2storm.F2SConfigurationException;

      throw new IllegalArgumentException("...");
    this.port = port;
    return this;
  }

  /**
   * @return The connection string (for identification purpose)
   */
  public String getConnectionStr() {
    return address + ":" + port;
  }

  /**
   * @see java.lang.Object#hashCode()
   */
  @Override
  public int hashCode() {
    return new HashCodeBuilder().append(address).append(port).hashCode();
  }

  /**
   * @see java.lang.Object#equals(java.lang.Object)
   */
  @Override
  public boolean equals(Object obj) {
    if (this == obj)
      return true;
    if (obj == null)
      return false;
    if (getClass() != obj.getClass())
      return false;