class PDFunctionTypeIdentity extends PDFunction
{

    public PDFunctionTypeIdentity(COSBase function)
    {
        super(null);
        //TODO passing null is not good because getCOSObject() can result in an NPE in the base class
    }

    @Override
    public int getFunctionType()
    {<FILL_FUNCTION_BODY>}

    @Override
    public float[] eval(float[] input) throws IOException
    {
        return input;
    }

    @Override
    protected COSArray getRangeValues()
    {
        return null;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String toString()
    {
        return "FunctionTypeIdentity";
    }

}

        // shouldn't be called
        throw new UnsupportedOperationException();
        //TODO this is a violation of the interface segregation principle
    
<methods>public void <init>(org.apache.pdfbox.cos.COSBase) ,public static org.apache.pdfbox.pdmodel.common.function.PDFunction create(org.apache.pdfbox.cos.COSBase) throws java.io.IOException,public abstract float[] eval(float[]) throws java.io.IOException,public final org.apache.pdfbox.cos.COSDictionary getCOSObject() ,public org.apache.pdfbox.pdmodel.common.PDRange getDomainForInput(int) ,public abstract int getFunctionType() ,public int getNumberOfInputParameters() ,public int getNumberOfOutputParameters() ,public org.apache.pdfbox.pdmodel.common.PDRange getRangeForOutput(int) ,public void setDomainValues(org.apache.pdfbox.cos.COSArray) ,public void setRangeValues(org.apache.pdfbox.cos.COSArray) ,public java.lang.String toString() <variables>private org.apache.pdfbox.cos.COSArray domain,private org.apache.pdfbox.cos.COSDictionary functionDictionary,private org.apache.pdfbox.pdmodel.common.PDStream functionStream,private int numberOfInputValues,private int numberOfOutputValues,private org.apache.pdfbox.cos.COSArray range