class WorkerResourceSpec implements Serializable {

	@Override
	public boolean equals(Object obj) {
		if (obj == this) {
			return true;
		} else if (obj != null && obj.getClass() == WorkerResourceSpec.class) {
			WorkerResourceSpec that = (WorkerResourceSpec) obj;
			return Objects.equals(this.cpuCores, that.cpuCores) &&
				Objects.equals(this.taskHeapSize, that.taskHeapSize) &&
				Objects.equals(this.taskOffHeapSize, that.taskOffHeapSize) &&
				Objects.equals(this.networkMemSize, that.networkMemSize) &&
				Objects.equals(this.managedMemSize, that.managedMemSize);
		}
		return false;
	}

	private  WorkerResourceSpec(
		CPUResource cpuCores,
		MemorySize taskHeapSize,
		MemorySize taskOffHeapSize,
		MemorySize networkMemSize,
		MemorySize managedMemSize);

}