// Path: src/main/java/org/ojalgo/finance/portfolio/SimpleAsset.java
// public final class SimpleAsset extends FinancePortfolio {
// 
//     private final double myMeanReturn;
//     private final double myVolatility;
//     private final BigDecimal myWeight;
// 
//     public SimpleAsset(final FinancePortfolio portfolio) {
//         this(portfolio.getMeanReturn(), portfolio.getVolatility(), BigMath.ONE);
//     }
// 
//     public SimpleAsset(final FinancePortfolio portfolio, final Comparable<?> weight) {
//         this(portfolio.getMeanReturn(), portfolio.getVolatility(), weight);
//     }
// 
//     public SimpleAsset(final Comparable<?> weight) {
//         this(PrimitiveMath.ZERO, PrimitiveMath.ZERO, weight);
//     }
// 
//     public SimpleAsset(final Comparable<?> meanReturn, final Comparable<?> volatility) {
//         this(meanReturn, volatility, BigMath.ONE);
//     }
// 
//     public SimpleAsset(final Comparable<?> meanReturn, final Comparable<?> volatility, final Comparable<?> weight) {
// 
//         super();
// 
//         myMeanReturn = meanReturn != null ? Scalar.doubleValue(meanReturn) : PrimitiveMath.ZERO;
//         myVolatility = volatility != null ? Scalar.doubleValue(volatility) : PrimitiveMath.ZERO;
//         myWeight = TypeUtils.toBigDecimal(weight);
//     }
// 
//     @SuppressWarnings("unused")
//     private SimpleAsset() {
//         this(BigMath.ZERO, BigMath.ZERO, BigMath.ONE);
//     }
// 
//     @Override
//     public double getMeanReturn() {
//         return myMeanReturn;
//     }
// 
//     @Override
//     public double getVolatility() {
//         return myVolatility;
//     }
// 
//     /**
//      * Assuming there is precisely 1 weight - this class is used to describe 1 asset (portfolio member).
//      */
//     public BigDecimal getWeight() {
//         return myWeight;
//     }
// 
//     @Override
//     public List<BigDecimal> getWeights() {
//         return Collections.singletonList(myWeight);
//     }
// 
//     @Override
//     protected void reset() {
// 
//     }
// 
// }


import java.math.BigDecimal;
import java.util.Collection;
import org.ojalgo.finance.portfolio.SimpleAsset;
import java.awt.Color;
            tmpR += 255;
        }
        while (tmpG < 0) {
            tmpG += 255;
        }
        while (tmpB < 0) {
            tmpB += 255;
        }

        while (tmpR > 255) {
            tmpR -= 255;
        }
        while (tmpG > 255) {
            tmpG -= 255;
        }
        while (tmpB > 255) {
            tmpB -= 255;
        }

        return new Color(tmpR, tmpG, tmpB);
    }

    Color getAssetColour();

    String getAssetKey();

    BigDecimal getWeight();

    int index();

// Path: src/main/java/org/ojalgo/finance/portfolio/SimpleAsset.java
// public final class SimpleAsset extends FinancePortfolio {
// 
//     private final double myMeanReturn;
//     private final double myVolatility;
//     private final BigDecimal myWeight;
// 
//     public SimpleAsset(final FinancePortfolio portfolio) {
//         this(portfolio.getMeanReturn(), portfolio.getVolatility(), BigMath.ONE);
//     }
// 
//     public SimpleAsset(final FinancePortfolio portfolio, final Comparable<?> weight) {
//         this(portfolio.getMeanReturn(), portfolio.getVolatility(), weight);
//     }
// 
//     public SimpleAsset(final Comparable<?> weight) {
//         this(PrimitiveMath.ZERO, PrimitiveMath.ZERO, weight);
//     }
// 
//     public SimpleAsset(final Comparable<?> meanReturn, final Comparable<?> volatility) {
//         this(meanReturn, volatility, BigMath.ONE);
//     }
// 
//     public SimpleAsset(final Comparable<?> meanReturn, final Comparable<?> volatility, final Comparable<?> weight) {
// 
//         super();
// 
//         myMeanReturn = meanReturn != null ? Scalar.doubleValue(meanReturn) : PrimitiveMath.ZERO;
//         myVolatility = volatility != null ? Scalar.doubleValue(volatility) : PrimitiveMath.ZERO;
//         myWeight = TypeUtils.toBigDecimal(weight);
//     }
// 
//     @SuppressWarnings("unused")
//     private SimpleAsset() {
//         this(BigMath.ZERO, BigMath.ZERO, BigMath.ONE);
//     }
// 
//     @Override
//     public double getMeanReturn() {
//         return myMeanReturn;
//     }
// 
//     @Override
//     public double getVolatility() {
//         return myVolatility;
//     }
// 
//     /**
//      * Assuming there is precisely 1 weight - this class is used to describe 1 asset (portfolio member).
//      */
//     public BigDecimal getWeight() {
//         return myWeight;
//     }
// 
//     @Override
//     public List<BigDecimal> getWeights() {
//         return Collections.singletonList(myWeight);
//     }
// 
//     @Override
//     protected void reset() {
// 
//     }
// 
// }


// Path: src/main/java/org/ojalgo/finance/business/ModernAsset.java
import java.math.BigDecimal;
import java.util.Collection;
import org.ojalgo.finance.portfolio.SimpleAsset;
import java.awt.Color;

            tmpR += 255;
        }
        while (tmpG < 0) {
            tmpG += 255;
        }
        while (tmpB < 0) {
            tmpB += 255;
        }

        while (tmpR > 255) {
            tmpR -= 255;
        }
        while (tmpG > 255) {
            tmpG -= 255;
        }
        while (tmpB > 255) {
            tmpB -= 255;
        }

        return new Color(tmpR, tmpG, tmpB);
    }

    Color getAssetColour();

    String getAssetKey();

    BigDecimal getWeight();

    int index();

    SimpleAsset toDefinitionPortfolio();