/** * Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.comparison; import java.util.ArrayList; import java.util.Collection; /* package */abstract class AbstractInfo<T> { private final T _underlying; private Collection<T> _additionalUnderlying; protected AbstractInfo(final T underlying) { _underlying = underlying; } public T getUnderlying() { return _underlying; } public void associateAdditionalUnderlying(final T underlying) { if (_additionalUnderlying == null) { _additionalUnderlying = new ArrayList<T>(); } _additionalUnderlying.add(underlying); } public void addUnderlyingToCollection(final Collection<T> destination) { destination.add(getUnderlying()); if (_additionalUnderlying != null) { destination.addAll(_additionalUnderlying); } } }