}
public static SpecimenOrObservationBase getTopMostDerivate(SpecimenOrObservationBase<?> specimen){
- if(specimen==null) {
- return null;
- }
- if(specimen.isInstanceOf(FieldUnit.class)){
- return specimen;
- }
- else if(specimen instanceof DerivedUnit){
- if(((DerivedUnit) specimen).getOriginals()==null || ((DerivedUnit) specimen).getOriginals().isEmpty()){
+ if(specimen!=null) {
+ if(specimen.isInstanceOf(FieldUnit.class)){
return specimen;
}
- else{
- for(SpecimenOrObservationBase original:((DerivedUnit) specimen).getOriginals()){
- return getTopMostDerivate(original);
+ else if(specimen instanceof DerivedUnit){
+ if(((DerivedUnit) specimen).getOriginals()==null || ((DerivedUnit) specimen).getOriginals().isEmpty()){
+ return specimen;
+ }
+ else{
+ for(SpecimenOrObservationBase original:((DerivedUnit) specimen).getOriginals()){
+ return getTopMostDerivate(original);
+ }
}
}
}