class AssignIpAddressFromPool implements TransformationStep, Serializable {

  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (!(o instanceof AssignIpAddressFromPool)) {
      return false;
    }
    AssignIpAddressFromPool that = (AssignIpAddressFromPool) o;
    return _type == that._type
        && _ipField == that._ipField
        && Objects.equals(_ipRanges, that._ipRanges);
  }

  public  AssignIpAddressFromPool(TransformationType type, IpField ipField, RangeSet<Ip> ranges);
  public  AssignIpAddressFromPool(
      TransformationType type, IpField ipField, Ip poolStart, Ip poolEnd);

}