public override void RegisterComponents()
		{
			this.type                 = NextComponent() as ASN1ObjectIdentifier;
			this.value                = NextComponent(); // as WHAT?
		    this.valuesWithContext    = NextComponent() as ValuesWithContext;

			/// povezi!!! 
			this.unique_TypeInfo.uoid = this.type;
		}
		public void Test_PARAMETERIZED_DEEP()
		{
			Console.WriteLine("DEEP parametrizacija: ovaj je mrcina");
			Console.WriteLine("... prvo bez OPTIONAL komponente...");
		
			ATADV t1 = new ATADV();
			t1.Assign(MyIOSet.aux_oid2, new ASN1Null());

			UNIQUE_TypeInfo uti = t1.GetUNIQUE_TypeInfo();
			
			BERWriter.DumpHEX(t1);
			BEREncoding ber = t1.asDER();

			ATADV t2 = new ATADV();
			t2.fromBER(ber);

			BERWriter.DumpHEX(t2);

			Console.WriteLine("... a sad moram smisliti ValuesWithContext");


			ValuesWithContext vwc = new ValuesWithContext(uti);
			vwc.Add(new ASN1Null());



			BERWriter.DumpHEX(vwc);
			ber = vwc.asBER();

			ValuesWithContext_type vwc_t = new ValuesWithContext_type(uti);
			ValuesWithContext vwc1 = vwc_t.CreateInstance(ber) as ValuesWithContext;

			BERWriter.DumpHEX(vwc1);

			Console.WriteLine("A sad ide ono pravo... DEEP tip...");

			ATADV t3 = new ATADV();
			t3.Assign(MyIOSet.aux_oid2, new ASN1Null(), vwc);
			
			BERWriter.DumpHEX(t3);
			

			ATADV t4 = new ATADV();
			ber = t3.asDER();
			t4.fromBER(ber);

			BERWriter.DumpHEX(t4);
		}